統計學習方法 第五章
阿新 • • 發佈:2019-01-03
統計學習第五章:決策樹
- 決策樹模型
分類決策樹模型是一種描述對例項進行分類的樹形結構,表示基於特徵對例項進行分類的過程。決策樹由結點和有向邊組成。結點有兩種型別:內部節點和葉節點,內部節點表示一個特徵或屬性,葉節點表示一個具體的類。
分類的時候,先從根節點開始,當前節點設為根節點,當前節點必定是一種特徵,根據例項的在該特徵上的取值,向下一層的節點移動,直到到達葉節點,將例項分到葉節點對應的類中。 - 決策樹學習
決策樹學習的本質是從資料集中歸納出一組分類規則,決策樹學習演算法包含特徵選擇、決策樹的生成與剪枝過程。決策樹的學習演算法一般是遞迴地選擇最優特徵,並用最優特徵對資料集進行分割。開始時,構建根節點,選擇最優特徵,該特徵有幾種值就分割為幾個子集,每個子集分別遞迴呼叫此方法,返回節點,返回的節點就是上一層的子節點。直到資料集為空,或者資料集只有一維特徵為止。
①特徵選擇:既然是遞迴地選擇最優特徵,就要有一個準則來確定什麼樣的特徵是最優特徵。特徵選擇的目的是選取對訓練資料具有分類能力的特徵,這樣可以提高決策學習的效率,減少決策樹的層次。如果利用一個特徵進行分類之後的效果和隨機選擇一個特徵分類的結果沒有多少差別,則稱這個特徵是沒有分類能力的。通常通過資訊增益或資訊增益比來確定最優特徵。
資訊增益
這個問題得先介紹熵的概念,應該算是NLP和ML的老相好了:
對於一個可能有n種取值的隨機變數:
其熵定義為:
由定義知道,隨機變數X的熵與X的值無關,只與分佈有關,所以也可以將X的熵記作H(p),即:
由定義知熵值是一個非負數,且0<=H(p)<=logn,熵值越大反應隨機變數X的不確定性越大,可以假設極端情況下,即熵為0這是要麼p=0要麼p=1,這時候隨機變數的確定性最強也即不確定性最小。
下面引出條件熵的概念,假設隨機變數(X,Y),其聯合概率分佈為
條件熵H(Y|X)表示在已知隨機變數X的條件下隨機變數Y的不確定性,定義為在X給定的條件下Y的條件概率分佈的熵
,pi表示P(X=xi),意思是資料集中X這個特徵取值xi的樣本出現的概率。
當上述定義式中的概率由資料估計(比如上一章提到的極大似然估計,由頻數/總量)得到時,所對應的熵和條件熵分別稱為經驗熵和經驗條件熵。(總感覺這和先驗概率是一樣的。。。)。
定義了這兩個概念之後,就可以引出資訊增益,假設一個特徵A對資料集D的資訊增益表示成g(D,A),它定義為資料集D的經驗熵H(D)與資料集D在已知特徵A條件下的條件經驗熵H(D|A)之差,即g(D,A)=H(D)-H(D|A),這個差又稱為互資訊(關於互資訊的一個應用:
計算資訊增益的方法就如上述一樣,用極大似然的方法即頻數/總量。資料集D中的pi是每一個類別的概率,條件熵的求法就是條件概率分佈的熵對期望,都比較好求。總結資訊增益的步驟如下:
資訊增益比
說完了資訊增益,來說一下資訊增益這種演算法的缺點,以資訊增益為準則在選擇特徵時,傾向於選擇取值較多的特徵作為最優特徵。因為資訊增益的目的是使得選擇這個特徵作為根節點之後,接下來的決策樹會越小越好也就是越容易分類。如果這個特徵的取值比較多,會使下一層比較寬佔據較多樣本,那自然再次遞迴時會更快的分類。取一個極端的例子來講,省份證ID是一個人的特徵,如果把身份證作為跟節點,那一下就把人這個龐大的資料集給分開了,因為根節點下一層的都是葉節點了,但顯然這是沒有意義的。解決這個問題的辦法就是採用資訊增益比,資訊增益比的表示如下:分母訓練資料集D關於特徵A的熵其實就是按特徵A分裂之後每個子集的熵之和。
- 決策樹的生成