1. 程式人生 > >決策樹原理及實現

決策樹原理及實現

方式 -1 變化 log nbsp 導致 結點 以及 重要

1、決策樹原理

1.1、定義
分類決策樹模型是一種描述對實例進行分類的樹形結構。決策樹由結點和有向邊組成。結點有兩種類型:內部節點和葉節點,內部節點表示一個特征或屬性,葉節點表示一個類。

舉一個通俗的栗子,各位立誌於脫單的單身男女在找對象的時候就已經完完全全使用了決策樹的思想。假設一位母親在給女兒介紹對象時,有這麽一段對話:

母親:給你介紹個對象。
女兒:年紀多大了?
母親:26。
女兒:長的帥不帥?
母親:挺帥的。
女兒:收入高不?
母親:不算很高,中等情況。
女兒:是公務員不?
母親:是,在稅務局上班呢。
女兒:那好,我去見見。



這個女生的決策過程就是典型的分類決策樹。相當於對年齡、外貌、收入和是否公務員等特征將男人分為兩個類別:見或者不見。假設這個女生的決策邏輯如下:技術分享

每種決策樹之所以不同,一般是由於最有特征的選擇上有所差異,不同決策導致不同的決策樹。

基於信息論的決策樹算法有ID3、CART和C4.5等算法,其中C4.5和CART兩種算法從ID3算法中衍生而來。

ID3 最有特征選擇標準是信息增益 ; C4.5 信息增益率 ; CART 節點方差的大小

1.2、ID3算法的數學原理

  關於決策樹的信息論基礎可以參考“決策樹1-建模過程”

(1)信息熵

  信息熵:在概率論中,信息熵給了我們一種度量不確定性的方式,是用來衡量隨機變量不確定性的,熵就是信息的期望值。若待分類的事物可能劃分在N類中,分別是x1,x2,……,xn,每一種取到的概率分別是P1

,P2,……,Pn,那麽X的熵就定義為:

技術分享,從定義中可知:0≤H(X)≤log(n)

  當隨機變量只取兩個值時,即X的分布為 P(X=1)=p,X(X=0)=1?p,0≤p≤1則熵為:H(X)=?plog2(p)?(1?p)log2(1?p)。

熵值越高,則數據混合的種類越高,其蘊含的含義是一個變量可能的變化越多(反而跟變量具體的取值沒有任何關系,只和值的種類多少以及發生概率有關),它攜帶的信息量就越大。熵在信息論中是一個非常重要的概念,很多機器學習的算法都會利用到這個概念。

(2)條件熵

  假設有隨機變量(X,Y),其聯合概率分布為:P(X=xi,Y=yi)=pij,i=1,2,?,n;j=1,2,?,m

  則條件熵(H(Y∣X))表示在已知隨機變量X的條件下隨機變量Y的不確定性,其定義為X在給定條件下Y的條件概率分布的熵對X的數學期望:

技術分享

(3)信息增益

  信息增益(information gain)表示得知特征X的信息後,而使得Y的不確定性減少的程度。定義為:

技術分享

應用舉例

技術分享

技術分享

技術分享

技術分享

決策樹原理及實現