決策樹算法中的幾個概念

熵(entropy)

在信息論和機率統計中,熵用來度量隨機變量的不肯定性.假設\(X\)是一個取有限值的離散型隨機變量,它的機率分佈可寫爲:算法

\[P(X=x_i) = p_i, \quad i = 1, 2, ..., n \tag{1} \]

那麼隨機變量\(X\)的熵就能夠定義爲:函數

\[H(X) = -\sum\limits^n_{i=1}p_ilog\,p_i \tag{2} \]

其中對數函數\(log\)能夠以2爲底,也能夠以\(e\)爲底,以2爲底計算出的熵的單位是(比特)bit,而以\(e\)爲底計算出的熵的單位是納特(nat).另外須要指出的是,在機率\(p_i=0\)的時候,定義\(0\,log\,0=0\).熵只依賴於隨機變量\(X\)的分佈,和隨機變量具體的取值無關,從而能夠把熵寫做\(H(p)\),即spa

\[H(p) = - \sum\limits^n_{i=1}p_ilog\,p_i \tag{3} \]

熵是用來度量隨機變量的不肯定性的,而且熵的數值越大,表明隨機變量的不肯定性就越大.能夠證實,在隨機變量能夠取的值的個數爲n的時候,隨機變量的熵的取值範圍爲orm

\[0 \leq H(p) \leq log\,n \tag{4} \]

條件熵(condition entropy)

假設有隨機變量\(X\)\(Y\)\(X\)可取的值有n個。\(Y\)可取的值有m個,那麼它們的聯合機率分佈寫做ci

\[P(X=x_i, Y=y_j) = p_{ij}, \quad i = 1, 2, ..., n;\quad j = 1, 2, ..., m \tag{5} \]

條件熵用來度量在已知給定一個隨機變量\(X\)的條件下,另外一個隨機變量\(Y\)的不肯定性.而條件熵的定義是,在給定一個隨機變量\(X\)的條件下,另外一個隨機變量\(Y\)的條件機率分佈的熵對\(X\)的數學指望,可寫做數學

\[\begin{equation} \left\{ \begin{array}{lr} p_i = P(X=x_i), \quad i = 1, 2, ..., n \\ H(Y|X) = \sum\limits^{n}_{i=1}p_iH(Y|X=x_i) \end{array} \right. \end{equation} \tag{6} \]

注:若是熵和條件熵中的機率\(p_i\)由數據估計(例如極大似然估計)獲得時,這時候的熵和條件熵就分別稱之爲經驗熵(expirical entropy)經驗條件熵(expirical condition entropy).it

信息增益(information gain)

信息增益用來度量已知特徵\(X\)的信息而使得類標籤\(Y\)的不肯定性減少的程度.具體地,特徵\(A\)對訓練數據集\(D\)的信息增益\(g(D, A)\)定義爲訓練數據集\(D\)的經驗熵\(H(D)\)與在給定特徵\(A\)條件下訓練數據集\(D\)的經驗條件熵\(H(D|A)\)之差,寫做爲io

\[g(D, A) = H(D) - H(D|A) \tag{7} \]

信息增益依賴於特徵,信息增益大則說明因爲該特徵的存在而使得原來數據集分類的不肯定性減少的程度越大,從而信息增益大的特徵越具備強的分類能力.針對信息增益而選擇特徵的方法是,考慮數據集的全部特徵,對於每個特徵,分別計算其信息增益,選擇信息增益最大的那個特徵.具體地,假設數據集\(D\)一共有\(|D|\)個樣本,一共有\(K\)種類標籤,即類標籤表示爲\(C_k,\,k=1, 2, ..., K\).用\(|C_k|\)表示屬於該標籤的樣本個數.假設特徵\(A\)有n個不一樣取值,那麼根據這n個不一樣取值能夠將樣本劃分紅n個不一樣的子集\(D_1, D_2, ..., D_n\)\(D_i\)表示該樣本子集的個數.樣本子集\(D_i\)中屬於類標籤\(C_k\)的集合記做\(D_{ik}\)\(|D_{ik}|\)表示其個數.那麼訓練數據集\(D\)的經驗熵\(H(D)\)計算以下form

\[H(D) = -\sum\limits^k_{k=1}\frac{|C_k|}{|D|}log_2\frac{|C_k|}{|D|} \tag{8} \]

特徵\(A\)對數據集\(D\)的經驗條件熵爲class

\[\begin{align*} H(D|A) &= \sum\limits^n_{i=1}\frac{|D_i|}{|D|}H(D_i) \\ &= -\sum\limits^n_{i=1}\frac{|D_i|}{|D|}\sum\limits^K_{k=1}\frac{|D_{ik}|}{|D_i|}log_2\frac{|D_{ik}|}{|D_i|} \end{align*} \tag{9} \]

則信息增益爲

\[g(D, A) = H(D) - H(D|A) \tag{10} \]

決策樹中的ID3算法基於信息增益進行特徵選擇.

信息增益比(information gain ratio)

信息增益傾向於選擇特徵取值個數較多的特徵,能夠用信息增益比進行修正.特徵\(A\)對訓練數據集\(D\)的信息增益比\(g_R(D, A)\)定義爲信息增益\(g(D, A)\)與訓練數據集\(D\)關於特徵\(A\)的值的熵\(H_A(D)\)之比

\[\begin{equation} \left\{ \begin{array}{lr} H_A(D) = -\sum\limits^n_{i=1}\frac{|D_i|}{|D|}log_2\frac{|D_i|}{|D|} \\ g_R(D, A) = \frac{g(D, A)}{H_A(D)} \end{array} \right. \end{equation} \tag{11} \]

決策樹中的C4.5算法基於信息增益比進行特徵選擇.

基尼指數(Gini coefficient)

假定樣本有\(K\)個類,樣本屬於第\(k\)類的機率是\(p_k\),則機率分佈的基尼指數定義爲

\[Gini(p) = \sum\limits^K_{k=1}p_k(1-p_k) = 1 - \sum\limits^{K}_{k=1}p_k^2 \tag{12} \]

而對於給定的樣本集合\(D\),基尼指數記做

\[Gini(D) = 1 - \sum\limits^K_{k=1}\left(\frac{|C_k|}{|D|}\right)^2 \tag{13} \]

假設訓練數據集\(D\)根據特徵\(A\)是否取某一可能值a而被分割成\(D_1\)\(D_2\)兩部分,則在特徵\(A\)條件下,訓練數據集\(D\)的基尼指數定義爲

\[Gini(D, A) = \frac{|D_1|}{|D|}Gini(D_1) + \frac{|D_2|}{|D|}Gini(D_2) \tag{14} \]

基尼指數\(Gini(D)\)表示訓練數據集\(D\)分類的不肯定性,基尼指數\(Gini(D,A)\)表示通過一個特徵的某個數值分割以後訓練數據集\(D\)分類的不肯定性.因此不肯定性是和基尼指數的大小成正相關的關係,基尼指數值越大,樣本分類的不肯定性就越大. 決策樹中的CART算法基於基尼指數進行特徵選擇.

相關文章
相關標籤/搜索