決策樹--信息增益、信息增益比、Geni指數的理解

決策樹

      是表示基於特徵對實例進行分類的樹形結構

從給定的訓練數據集中,依據特徵選擇的準則,遞歸的選擇最優劃分特徵,並根據此特徵將訓練數據進行分割,使得各子數據集有一個最好的分類的過程。

決策樹算法3要素:

  》特徵選擇

  》決策樹生成

  》決策樹剪枝

關於決策樹生成

決策樹的生成過程就是 使用滿足劃分準則的特徵不斷的將數據集劃分爲純度更高,不確定性更小的子集的過程。

對於當前數據集D的每一次的劃分,都希望根據某特徵劃分之後的各個子集的純度更高,不確定性更小。

而如何度量劃分數據集前後的數據集的純度以及不確定性呢?
答案:特徵選擇準則,比如:信息增益,信息增益率,基尼指數

特徵選擇準則:

目的:使用某特徵對數據集劃分之後,各數據集的純度要比劃分前的數據集D的純度高(不確定性要比劃分前數據集D的不確定性低)

注意:

  1.劃分後的純度爲各數據子集的純度的加和(子集佔比*子集的經驗熵)。

  2.度量劃分前後的純度變化用子集的純度之和與劃分前的數據集D的純度進行比較。

特徵選擇的準則就是  度量樣本集合不確定性以及純度的方法。本質相同,定義不同而已。

首先介紹一下熵的概念以及理解:

  熵:度量隨機變量的不確定性。(純度)

  定義:假設隨機變量x的可能取值有x_{1},x_{2},...x_{n}

             對於每一個可能的取值x_{i},其概率p(X = x_{i})=p_{i},(i=1,2,....,n)

             因此隨機變量x的熵:

                                          

             對於樣本集合D來說,隨機變量X是樣本的類別,即,假設樣本有k個類別,每個類別的概率是\frac{C_{k}}{D},其中|C_{k}|表示類別k的樣本個數,|D|表示樣本總數

則對於樣本集合D來說熵(經驗熵)爲:


 

信息增益(ID3算法)

定義:以某特徵劃分數據集前後的熵的差值

在熵的理解那部分提到了,熵可以表示樣本集合的不確定性,熵越大,樣本的不確定性就越大。因此可以使用劃分前後集合熵的差值來衡量使用當前特徵對於樣本集合D劃分效果的好壞。

劃分前樣本集合D的熵是一定的,entroy(前),

使用某個特徵A劃分數據集D,計算劃分後的數據子集的熵entroy(後)

    信息增益 = entroy(前) - entroy(後)

書中公式:

     g(D,A) = H(D) - H(D|A)

做法:計算使用所有特徵劃分數據集D,得到多個特徵劃分數據集D的信息增益,從這些信息增益中選擇最大的,因而當前節點的劃分特徵便是使信息增益最大的劃分所使用的特徵。

信息增益的理解:

        對於待劃分的數據集D,其entroy(前)是一定的,但是劃分之後的熵entroy(後)是不定的,entroy(後)越小說明使用此特徵劃分得到的子集的不確定性越小(也就是純度越高),因此entroy(前)—entroy(後)差異越大,說明使用當前特徵劃分數據集D的話,其純度上升的更快。而我們在構建最優的決策樹的時候總希望能更快速到達純度更高的集合,這一點可以參考優化算法中的梯度下降算法,每一步沿着負梯度方法最小化損失函數的原因就是負梯度方向是函數值減小最快的方向。同理:在決策樹構建的過程中我們總是希望集合往最快到達純度更高的子集合方向發展,因此我們總是選擇使得信息增益最大的特徵來劃分當前數據集D.

缺點:信息增益偏向取值較多的特徵

原因:當特徵的取值較多時,根據此特徵劃分更容易得到純度更高的子集,因此劃分之後的熵更低,由於劃分前的熵是一定的,因此信息增益更大,因此信息增益比較偏向取值較多的特徵。

解決方法:信息增益比(C4.5算法)

                                       信息增益比 = 懲罰參數 * 信息增益

書中公式:

                                      g_{r}(D,A) = \frac{g(D,A))}{H_{A}D}

     注意:其中的H_A{(D)},對於樣本集合D,將當前特徵A作爲隨機變量(取值是特徵A的各個特徵值),求得是經驗熵。

(之前是把集合類別作爲隨機變量,現在把某個特徵作爲隨機變量,按照此特徵的特徵取值對集合D進行劃分,計算熵H_A{(D)}

          

    信息增益比本質:是在信息增益的基礎之上乘上一個懲罰參數,即:將特徵個數較多時,懲罰參數較小;特徵個數較少時,懲罰參數較大。

     懲罰參數:數據集D以特徵A作爲隨機變量的熵的倒數,即:將特徵A取值相同的樣本劃分到同一個子集中(之前所說數據集的熵是依據類別進行劃分的)

      

缺點:信息增益比偏向取值較少的特徵

原因:當特徵取值較少時H_{A}(D)的值較少,因此其倒數較大,因而信息增益比較大。因而偏向取值較少的特徵。

使用信息增益比:基於以上缺點,並不是直接選擇信息增益率最大的特徵,而是先在候選特徵中找出信息增益高於平均水平的特徵,然後在這些特徵中再選擇信息增益率最高的特徵。

基尼指數(CART算法----分類樹)

定義:基尼指數(基尼不純度):表示在樣本集合中一個隨機選中的樣本被分錯的概率

   注意:Gini指數越小表示集合中被選中的樣本被分錯的概率越小,也就是說集合的純度越高,反之,集合越不純。

基尼指數(基尼不純度) = 樣本被選中的概率 * 樣本被分錯的概率

書中公式:

        

             說明:

              1.P_{k}表示選中的樣本屬於k類別的概率,則這個樣本被分錯的概率是(1-P_{k}

               2.樣本集合中有K個類別,一個隨機選中的樣本可以屬於這K個類別中的任意一個,因而對類別就加和

               3.當爲二分類是,Gini(p) = 2p(1-p)

樣本集合D的Gini指數:假設集合中有K個類別,則:

               

基於特徵A劃分樣本集合D之後的基尼指數:

   需要說明的是CART是一個二叉樹,也就是當使用某個特徵劃分樣本集合,只有倆個集合:1.等於給定的特徵值的樣本集合D_{1},2不等於給定的特徵值的樣本集合D_{2}

實際上是對擁有多個取值的特徵的二值處理。

舉個例子:

   假設現在有特徵”學歷“,此特徵有三個特徵取值:”本科“,”碩士“,”博士“,

   當使用”學歷“這個特徵對樣本集合D進行劃分時,劃分值分別有三個,因而有三種劃分的可能集合,劃分後的子集如下:

     1. 劃分點:”本科“,劃分後的子集合:{本科},{碩士,博士}

     2. 劃分點:”碩士“,劃分後的子集合:{碩士},{本科, 博士}

     3. 劃分點:”博士“,劃分後的子集合:{博士},{本科,碩士}

對於上述的每一種劃分,都可以計算基於 劃分特徵 = 某個特徵值 將樣本集合D劃分爲倆個子集的純度:
  

因而對於一個具有多個取值(超過2個)的特徵,需要計算以每一個取值作爲劃分點,對樣本D劃分之後子集的純度Gini(D,Ai),(其中Ai表示特徵A的可能取值)

   然後從所有的可能劃分的Gini(D,Ai)中找出Gini指數最小的劃分,這個劃分的劃分點,便是使用特徵A對樣本集合D進行劃分的最佳劃分點。

 

補充點:CART的全稱是分類與迴歸樹,既可以用於分類問題,也可以用於迴歸問題

迴歸樹中,使用平方誤差最小化準則來選擇特徵並進行劃分,每一個葉子節點給出的預測值,是劃分到該葉子節點的所有樣本目標值的均值,這樣只是在給定劃分的情況下最小化了平方誤差,要確定最優化分,還需要遍歷所有屬性,以及其所有的取值來分別嘗試劃分並計算在此種劃分情況下的最小平方誤差,選取最小的作爲此次劃分的依據。由於Gini指數最小化準則來選擇特徵並進行劃分:

 Gini指數表示集合的不確定性,或者不純度,基尼指數大,集合不確定性越高,不純度也越大。這一點和熵類似。另一種理解基尼指數的思路是。基尼指數是爲了最小化誤分類的概率。

總結

決策樹算法主要包括三個部分:特徵選擇、樹的生成、樹的剪枝。常用算法有ID3、C4.5、CART。

   1、 特徵選擇。特徵選擇的目的是選取能夠對訓練集分類的特徵。特徵選擇的關鍵準則是:信息增益、信息增益比、Gini指數。

   2、決策樹的生成。通常是利用信息增益最大、信息增益比最大、Gini指數最小作爲特徵選擇的準則。從根節點開始、遞歸的生成決策樹。相當於是不斷選取局部最優特徵,或將訓練集分割爲基本能夠正確分類的子集。

    3、決策樹的剪枝。決策樹的剪枝是爲了防止樹的過擬合,增強其泛化能力。包括預剪紙和後剪紙

問題:決策樹中連續值和缺失值特徵是如何處理的?

答:決策樹中,對於連續屬性,假設有n個樣本,那麼首先按照取值從小到大進行排序,取每倆個值的中值作爲候選的劃分點進行劃分。n個樣本,對應有n-1個區間,也就是n-1個候選劃分點。嘗試所有劃分點之後,分別計算信息增益,選取信息增益最大的劃分點即。對於屬性有缺失值的情況,劃分過程中計算屬性信息增益的時候,只使用屬性沒有缺失值的樣本進行信息增益的計算。確定好分類之後,對於在該屬性值有缺失的樣本,將被歸入所有的分支節點。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章