在學習決策樹類的算法時,老是繞不開 信息熵、Gini指數和它們相關聯的概念,概念不清楚,就很難理解決策樹的構造過程,如今把這些概念捋一捋。算法
信息熵,簡稱熵,用來衡量隨機變量的不肯定性大小,熵越大,說明隨機變量的不肯定性越大。計算公式以下:函數
考慮二元分佈的狀況,當取2爲對數底時,能夠獲得以下的函數曲線。能夠看到,當p=0.5時,不肯定性最大,熵的值是1,也最大,當p=0或1時,沒有不肯定性,熵的值最小,是0。學習
咱們在分析某個特徵對隨機變量的影響時,須要計算條件熵,即隨機變量Y的信息熵相對特徵X的條件指望,公式以下:spa
互信息,也叫信息增益,是熵和條件熵的差值,g(Y,X) = H(Y) - H(Y|X)。blog
信息增益的含義是,某一個特徵會使得隨機變量的不肯定性降低多少。降低的越多,說明這個特徵與標籤的相關性越強,分類效果天然越好。在構造決策樹時,經常使用的作法是選擇信息增益更大的特徵構造分支。it
另外,在構造決策樹時,信息增益有兩種算法,一是差值(ID3),二是比值(C4.5),比值是差值與特徵的信息熵的比例,公式以下所示:變量
比值比差值能更準確的反應不肯定性變化的程度,緣由是,若是按差值選取節點,那些取值數量更多的特徵老是會排在前面,在比值的計算公式中,分母能夠度量特徵的取值數量,至關於對各個特徵作了歸一化,因此不會出現,特徵取值數量多,信息增益必定更大的狀況。im
Gini指數和熵相似,都是衡量隨機變量不肯定程度的,計算公式是:數據
Gini指數有一個比較直觀的解釋:從樣本中任意挑選兩個,兩個樣本屬於不一樣類別的機率就是Gini指數。從Gini指數的定義和解釋就能夠發現,它和熵和相似,不肯定性越大,Gini指數和熵也越大。不一樣點在於Gini指數的最大值是0.5,不是1。把Gini指數公式和信息熵公式都變換成求和的形式,能夠發現兩者只相差一個乘積項,Gini指數是 1-p,信息熵是-log(p),就是這麼一點點差異。img
Gini指數的另外一種說法是不純度(impurity),Gini指數越大,不肯定性越大,數據越混亂,不純度越高。
筆者沒研究過信息熵和Gini指數的發跡史,但能夠猜想,Gini指數和信息熵極可能是不一樣領域的研究者分別創建的評價不肯定性的指標,從含義上看,兩者異曲同工。在實際使用時,每每用Gini指數來構造CART。