1. 程式人生 > >《統計學習方法》 讀書筆記 第五章

《統計學習方法》 讀書筆記 第五章

第五章 決策樹

概述

  1.可以認為是if-then的集合,也可以認為是定義在特徵空間與類空間上的條件概率分佈。
  2.主要優點是模型具有可讀性,分類速度快。
  3.包括三個步驟:特徵選擇、決策樹的生成和決策樹的修剪。

5.1 決策樹模型與學習

  決策樹的損失函式通常是正則化的極大似然函式。
  現實中決策樹演算法通常採用啟發式方法,近似求解這一最優化問題,這樣得到的決策樹是次最優的
  決策時常用的演算法有ID3、C4.5與CART。

5.2 特徵選擇

  特徵選擇在於選取對訓練資料具有分類能力的特徵,可以提高決策樹學習的效率。
  通常特徵選擇的準則是資訊增益或資訊增益比。

資訊增益

熵表示隨機變數不確定性的度量。隨機變數X熵的定義為

H(X)=i=1npilogpi
若p=0,則定義0log0 = 0。當式中的對數以2為底或以e為底,這時熵的單位分別稱為位元或者納特。
當隨機變數只取兩個值,例如1或0,即X的分佈為:
P(X=1)=p,P(X=0)=1p
熵為:
H(p)=plog2p(1p)log2(1p)
當p=0或p=1時H(p)=0,隨機變數完全沒有不確定性,當p=0.5時,H(p)=1,熵取值最大,隨機變數不確定性最大。
條件熵H(Y|X)表示在X條件下Y的不確定性:
H(Y|X)=i=1npiH(Y|X=xi)

當熵和條件熵中的概率由資料估計(特別是極大似然估計)得到時,所對應的熵與條件概率分別稱為經驗熵和經驗條件熵。

資訊增益表示得知特徵X的資訊而使類Y的資訊的不確定性減少的程度

  定義5.2 (資訊增益) 特徵A對訓練集D的資訊增益g(D,A),定義為集合D的經驗熵H(D),與特徵A給定條件下D的經驗條件熵H(D|A)之差,即

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

  一般的,熵H(Y)與條件熵的差稱為互資訊。資訊增益等價於互資訊。

  根據資訊增益準則的特徵選擇方法是,對訓練資料集D,計算其每個特徵的資訊增益,並比較它們的大小,選擇資訊增益最大的特徵。

資訊增益比

特徵A對訓練資料集D的資訊增益比gR(D,A)定義為其資訊增益g(D,A)與訓練資料集D關於特徵A的值的熵HA(D)

之比,即

gR(D,A)=g(D,A)HA(D)

5.3 決策樹的生成

ID3演算法

  ID3演算法的核心是在決策樹的各個結點用資訊增益準則選擇特徵,遞迴的構建決策樹。具體方法是:從根節點開始,對結點計算所有可能特徵的資訊增益,選取資訊增益最大的特徵作為結點的特徵,由該特徵的不同取值建立子結點;再對子結點遞迴的呼叫以上方法,構建決策樹。直到所有的特徵的資訊增益均很小或沒有特徵可以選擇為止。

  ID3演算法主要用來處理離散性問題,不適合用於處理連續性問題。

演算法 (ID3 演算法)

輸入:訓練資料集D,特徵集A,閾值ε;

輸出:決策樹T

(1)若D中所有例項屬於同一類C,則T為單結點樹,並將C作為該結點的類標記,返回T;

(2)若A是空集,則T為單結點樹,並將D中例項數最大的類C作為該結點的類標記,返回T;

(3)否則,計算A中各特徵對D的資訊增益,選擇資訊增益最大的特徵。

(4)如果所選擇的特徵的資訊增益小於閾值,則T為單結點樹,並將D中例項數最大的類作為該結點的類標記,返回T;

(5)否則,對所選特徵的每一個可能值a,依據A=a將D分割為若干非空子集Di,將Di中例項數最大的類作為標記,構建子結點,由結點及其子結點構成樹T,返回T;

(6)對第i個子結點,以Di為訓練集,以除去已用特徵外的其他特徵作為特徵集,遞迴的呼叫(1)~(5)的過程,得到子樹並返回。

C4.5的生成演算法

C4.5演算法與ID3演算法相似,只不過用資訊增益比代替資訊增益來選擇特徵。

5.4 決策樹的剪枝

  如果不進行樹的剪枝操作,決策樹可能過於複雜,泛化能力差,即出現過擬合。具體的,剪枝過程是從已生成的樹上裁掉一些子樹或者葉結點,並將其根結點或父結點作為新的葉結點。

  決策樹的剪枝往往通過最小化決策樹整體的損失函式值來進行的。假設有T個結點,t是樹T的葉結點,葉結點上有Nt個樣本點,其中k類的樣本點有Ntk個,k=1,2,3,…,K,決策樹學習的損失函式可以定義為:

Cα(T)=t=1|T|NtHt(T)+α|T|

其中經驗熵為: