机器学习理论《统计学习方法》学习笔记:第五章 决策树
機器學習理論《統(tǒng)計學習方法》學習筆記:第五章 決策樹
- 決策樹
- 5.1 決策樹模型與學習
- 5.1.1 決策樹模型
- 5.1.2 決策樹與if-then規(guī)則
- 5.1.3 決策樹與條件概率分布
- 5.1.4 決策樹學習
- 5.2 特征選擇
- 5.2.1 特征選擇問題
- 5.2.2 信息增益
- 5.2.3 信息增益比
- 5.3 決策樹的生成
- 5.3.1 ID3算法
- 5.3.1 C4.5算法
- 5.4 決策樹的剪枝
- 5.5 CART算法
- 5.5.1 CART生成
- 1. 回歸樹的生成
- 2. 分類樹的生成
- 5.5.2 CART剪枝
- 本章概要
決策樹
- 決策樹(Decision Tree)是一種基本的分類與回歸方法。本章主要用于分類的決策樹。決策樹模型呈樹形結構,在分類問題中,表示基于特征對實例進行分類的過程。它可以認為是if-then規(guī)則的集合,也可以認為是定義在特征空間與類空間上的條件概率分布。
- 決策樹的主要優(yōu)點是:模型具有可讀性,分類速度快。學習時,利用訓練數(shù)據(jù),根據(jù)損失函數(shù)最小化的原則建立決策樹模型。預測時,對新的數(shù)據(jù),利用決策樹模型進行分類。
- 決策樹模型學習通常包括3個步驟:特征選擇、決策樹的生成、決策樹的修剪。這些決策樹學習的思想主要來源于Quinlan在1986年提出的ID3算法和1993年提出的C4.5算法,以及由Breiman等人在1984年提出的CART算法。
5.1 決策樹模型與學習
5.1.1 決策樹模型
- 決策樹定義:分類決策樹模型是一種描述對實例進行分類的樹形結構。決策樹由結點(node)和有向邊(directed edge)組成。結點有兩種類型:內部結點(internal node)和葉結點(leaf node)。內部結點表示一個特征或屬性,葉結點表示一個類。
- 用決策樹分類,從根結點開始,對實例的某一特征進行測試根據(jù)測試結果,將實例分配到其子結點;這時,每一個子結點對應著該特征的一個取值。如此遞歸地對實例進行測試并分配,直至達到葉結點。最后將實例分到葉結點的類中。
- 決策樹模型:圓表示內部結點,方塊表示葉結點。
5.1.2 決策樹與if-then規(guī)則
- 可以將決策樹看成是一個if-then規(guī)則的集合。將決策樹轉換成if-then規(guī)則的過程是:由決策樹根節(jié)點到葉結點的每一條路徑構建一條規(guī)則;路徑上內部結點的特征對應著規(guī)則的條件,而葉結點的類對應著規(guī)則的結論。
- 決策樹的路徑或其對應的if-then規(guī)則集合具有一個重要的性質:互斥并且完備。這就是說,每一個實例都被一條路徑或一條規(guī)則所覆蓋,而且只被一條規(guī)則或路徑覆蓋。所謂覆蓋是指實例的特征與路徑上的特征一致或實例滿足規(guī)則的條件。
5.1.3 決策樹與條件概率分布
- 決策樹還表示給定特征條件下類的條件概率分布。這一條概率分布定義在特征空間的一個劃分(partition)上。將特征空間劃分為互不相交的單元(cell)或區(qū)域(Region),并在每個單元定義一個類的概率分布就構成了一個條件概率分布。決策樹的一條路徑對應于劃分中的一個單元。
- 決策樹所表示的條件概率分布由各個單元給定的條件下類的條件概率分布組成。假設XXX為表示特征向量的隨機變量,YYY為表示類的隨機變量,那么這個條件概率分布可以表示為P(Y∣X)P(Y|X)P(Y∣X).XXX取值于給定劃分下單元的集合,YYY取值于類的集合。各葉結點(單元)上的條件概率往往偏向于某一個類,即屬于某一個類的概率較大。決策樹分類時,將該結點的實施強行分到條件概率大的那一類去。
- 圖(a)中的大正方形表示特征空間,這個大正方形被若干個小矩形分割,每個小矩形表示一個單元。特征空間劃分上的單元構成了一個集合,XXX取值為單元的集合。為了簡單起見,假設只有兩類:正類和負類,即YYY取值為+1或-1,小矩形中的數(shù)字表示單元的類。
- 圖(b)表示特征空間劃分確定時,特征(單元)給定條件下類的條件概率分布。
- 條件概率分布對應的決策樹
5.1.4 決策樹學習
假設給定訓練數(shù)據(jù)集D={(x1,x1),(x2,x2),?,(xN,xN)}D=\{(x_1,x_1),(x_2,x_2),\cdots,(x_N,x_N)\}D={(x1?,x1?),(x2?,x2?),?,(xN?,xN?)}其中,xi=(xi(1),xi(2),?,xi(n))nx_i=(x_i^{(1)},x_i^{(2)},\cdots,x_i^{(n)})^nxi?=(xi(1)?,xi(2)?,?,xi(n)?)n為輸入實例(特征向量),n為特征個數(shù),yi∈{1,2,?,K}y_i\in \{1,2,\cdots,K\}yi?∈{1,2,?,K}為類標記,i=1,2,?,Ni=1,2,\cdots,Ni=1,2,?,N,N為樣本容量。決策樹學習的目標是根據(jù)給定的訓練數(shù)據(jù)構建一個決策樹模型,使它能夠對實例進行正確的分類。
決策樹學習本質上是從訓練數(shù)據(jù)集中歸納出一組分類規(guī)則。與訓練數(shù)據(jù)集不相矛盾的決策樹,即能對訓練數(shù)據(jù)正確分類的決策樹,可能有多個,也可能一個都沒有。我們需要的是一個與訓練數(shù)據(jù)矛盾較小的決策樹,同時具有很好的泛化能力。從另一個角度看,決策樹學習是由訓練數(shù)據(jù)集估計條件概率模型。基于特征空間劃分的類的條件概率模型有無窮多個。我們選擇的條件概率模型應該不僅對訓練數(shù)據(jù)有很好的擬合,而且對未知數(shù)據(jù)有很好的預測。
決策樹學習用損失函數(shù)表示這一目標。決策樹的損失函數(shù)通常是正則化的極大似然函數(shù)。決策樹學習的策略是以損失函數(shù)為目標函數(shù)的最小化。
當損失函數(shù)確定后,學習問題就變?yōu)樵趽p失函數(shù)意義下,選擇最優(yōu)決策樹的問題。因為從所有可能的決策樹中選取最優(yōu)決策樹是NP完全問題,所以現(xiàn)實中決策樹學習算法通常采用啟發(fā)式方法,近似求解這一最優(yōu)化問題,這樣得到的決策樹是次最優(yōu)的。
決策樹學習的算法通常是一個遞歸地選擇最優(yōu)特征,并根據(jù)該特征對訓練數(shù)據(jù)進行分割,使得對各個子數(shù)據(jù)集有一個最好的分類過程。這一過程對應著對特征空間的劃分,也對應著決策樹的構建。開始構建根結點,將所有訓練數(shù)據(jù)都放在根結點。選擇一個最優(yōu)特征,按照這一特征將訓練數(shù)據(jù)集分割成子集,使得各個子集有一個在當前條件下最好的分類。如果這些子集已經能夠被基本正確分類,那么構建葉結點,并將這些子集分到所對應的葉結點中去。如果還有子集不能被基本正確分類,那么就對這些子集選擇新的最優(yōu)特征,繼續(xù)對其進行分割,構建相應的結點。如此遞歸的進行下去,直至所有訓練數(shù)據(jù)子集被基本正確分類,或者沒有合適的特征為止。最后每個子集都被分到葉結點上,即都有了明確的類。這就生成了一棵決策樹。
以上方法生成的決策樹,可能對訓練數(shù)據(jù)有很好的分類能力。但對未知的測試數(shù)據(jù)卻未必有很好的分類能力,即可能發(fā)生過擬合現(xiàn)象。我們需要對已生成的樹自下而上進行剪枝,將樹變得更簡單,從而使它具有更好的泛化能力。具體地,就是去掉過于細分的葉結點,使其回退到父結點,甚至更高的結點,然后將父結點或更高的結點改為新的葉結點。
如果特征數(shù)量很多,也可以在決策樹學習開始的時候,對特征進行選擇,只留下對訓練數(shù)據(jù)有足夠分類能力的特征。
可以看出,決策樹學習算法包含特征選擇、決策樹的生成、決策樹的剪枝過程。由于決策樹表示一個條件概率分布,所以深淺不同的決策樹對應著不同復雜度的概率模型。決策樹的生成對應于模型的局部選擇,決策樹的剪枝對應于模型的全局選擇。決策樹的生成只考慮局部最優(yōu),相對地,決策樹的剪枝則考慮全局最優(yōu)。
決策樹學習常用的算法有ID3,C4.5,與CART,下面結合這些算法分別敘述決策樹學習的特征選擇、決策樹的生成和剪枝過程。
5.2 特征選擇
5.2.1 特征選擇問題
特征選擇在于選取對訓練數(shù)據(jù)具有分類能力的特征。這樣可以提高決策樹學習的效率。如果利用一個特征進行分類的結果與隨機分類的結果沒有很大區(qū)別,則稱這個特征是沒有分類能力的。經驗上,扔掉這樣的特征對決策樹學習的進度影響不大,通常特征選擇的準則是信息增益或信息增益比。
5.2.2 信息增益
在信息論與概率統(tǒng)計中,熵(entropy)是表示隨機變量不確定性的度量。設XXX是一個取有限個值的離散隨機變量,其概率分布為P(X=xi)=pi,i=1,2,?,nP(X=x_i)=p_i,i=1,2,\cdots,nP(X=xi?)=pi?,i=1,2,?,n則隨機變量XXX的熵定義為H(X)=?∑i=1npilog(pi)H(X)=-\sum_{i=1}^np_ilog(p_i)H(X)=?i=1∑n?pi?log(pi?)若pi=0p_i=0pi?=0,則定義0log(0)=00log(0)=00log(0)=0.當對數(shù)以2為底或以e為底,這時熵的單位分別被稱作比特(bit)或納特(nat)。由定義可知,熵只依賴于XXX的分布,而與XXX的取值無關,所以也可以將XXX的熵記作H(p)H(p)H(p),即H(p)=?∑i=1npilog(pi)H(p)=-\sum_{i=1}^np_ilog(p_i)H(p)=?i=1∑n?pi?log(pi?)
熵越大,隨機變量的不確定性越大,從定義可以驗證0≤H(p)≤log(n)0\le H(p) \le log (n)0≤H(p)≤log(n)當隨機變量只取兩個值,例如1,0時,即XXX的分布為P(X=1)=p,P(X=0)=1?p,0≤p≤1P(X=1)=p,P(X=0)=1-p,0\le p \le 1P(X=1)=p,P(X=0)=1?p,0≤p≤1熵為H(p)=?plog2p?(1?p)log2(1?p)H(p)=-plog_2p-(1-p)log_2(1-p)H(p)=?plog2?p?(1?p)log2?(1?p)這時,熵H(p)H(p)H(p)隨概率ppp變化的曲線如圖所示。(分布為伯努利分布時熵與概率的關系)。
當p=0p=0p=0或p=1p=1p=1時,H(p)=0H(p)=0H(p)=0,隨機變量完全沒有不確定性。當p=0.5p=0.5p=0.5時,H(p)=1H(p)=1H(p)=1,熵取值最大,隨機變量不確定性最大。
設隨機變量(X,Y)(X,Y)(X,Y),其聯(lián)合概率分布為P(X=xi,Y=yi)=pij,i=1,2,?,n;j=1,2,?,mP(X=x_i,Y=y_i)=p_{ij},i=1,2,\cdots,n;j=1,2,\cdots,mP(X=xi?,Y=yi?)=pij?,i=1,2,?,n;j=1,2,?,m條件熵H(Y∣X)H(Y|X)H(Y∣X)表示在已知隨機變量XXX的條件下,隨機變量YYY的不確定性。隨機變量XXX給定條件下隨機變量YYY的條件熵H(Y|X),定義為XXX給定條件下YYY的條件概率分布的熵對XXX的數(shù)學期望H(Y∣X)=∑i=1npiH(Y∣X=xi)H(Y|X)=\sum_{i=1}^np_iH(Y|X=x_i)H(Y∣X)=i=1∑n?pi?H(Y∣X=xi?)
當熵和條件熵中的概率由數(shù)據(jù)估計(特別是極大似然估計)得到時,所對應的熵與條件熵分別稱為經驗熵和經驗條件熵。信息增益表示得知特征XXX的信息,而使得類YYY的信息的不確定性減少的程度。
信息增益:
特征AAA對訓練數(shù)據(jù)集DDD的信息增益g(D,A)g(D,A)g(D,A),定義為集合DDD的經驗熵H(D)H(D)H(D)與特征AAA給定條件下DDD的經驗條件熵H(D∣A)H(D|A)H(D∣A)之差,即g(D,A)=H(D)?H(D∣A)g(D,A)=H(D)-H(D|A)g(D,A)=H(D)?H(D∣A)
信息增益的算法
輸入:訓練數(shù)據(jù)集D和特征A;
輸出:特征A對訓練數(shù)據(jù)集D的信息增益g(D,A).
(1)計算數(shù)據(jù)集D的經驗熵H(D)
H(D)=?∑k=1K∣Ck∣∣D∣log2∣Ck∣∣D∣H(D)=-\sum_{k=1}^K{{|C_k|}\over{|D|}}log_2{{|C_k|}\over{|D|}}H(D)=?k=1∑K?∣D∣∣Ck?∣?log2?∣D∣∣Ck?∣?
(2)計算特征A對數(shù)據(jù)集D的經驗條件熵H(D|A)
H(D∣A)=∑i=1n∣Di∣∣D∣H(Di)H(D|A)=\sum_{i=1}^n{{|D_i|}\over{|D|}}H(D_i)H(D∣A)=i=1∑n?∣D∣∣Di?∣?H(Di?)
(3)計算信息增益
g(D,A)=H(D)?H(D∣A)g(D,A)=H(D)-H(D|A)g(D,A)=H(D)?H(D∣A)
5.2.3 信息增益比
以信息增益作為劃分訓練數(shù)據(jù)集的特征,存在偏向于選擇取值較多的特征的問題。使用信息增益比可以對這一問題進行校正,這是特征選擇的另一準則。
信息增益比
特征A對訓練數(shù)據(jù)集D的信息增益比gR(D,A)g_R(D,A)gR?(D,A)定義為其信息增益g(D,A)g(D,A)g(D,A)與訓練數(shù)據(jù)集DDD關于特征AAA的值的熵HA(D)H_A(D)HA?(D)之比,即gR(D,A)=g(D,A)HA(D)g_R(D,A)={{g(D,A)}\over{H_A(D)}}gR?(D,A)=HA?(D)g(D,A)?其中,HA(D)=?∑i=1n∣Di∣∣D∣log2∣Di∣∣D∣H_A(D)=-\sum_{i=1}^n{{|D_i|}\over{|D|}}log_2{{|D_i|}\over{|D|}}HA?(D)=?i=1∑n?∣D∣∣Di?∣?log2?∣D∣∣Di?∣?,n是特征A取值的個數(shù)。
5.3 決策樹的生成
5.3.1 ID3算法
ID3算法的核心是在決策樹各個結點上應用信息增益準則選擇特征,遞歸地構建決策樹。具體方法是:從根結點開始,對結點計算所有可能的特征的信息增益,選擇信息增益最大的特征作為結點的特征,由該特征的不同取值建立子結點;再對子結點遞歸地調用以上方法,構建決策樹;直到所有特征的信息增益很小或沒有特征可以選擇為止,最后得到一棵決策樹。ID3相當于用極大似然法進行概率模型的選擇。
ID3算法
輸入:訓練集DDD,特征集AAA,閾值?\epsilon?
輸出:決策樹TTT
(1)若DDD中所有實例屬于同一類CkC_kCk?,則TTT為單結點樹,并將類CkC_kCk?作為該結點的類標記,返回TTT
(2)若A=?A=\varnothingA=?,則TTT為單結點樹,并將DDD中實例數(shù)最大的類CkC_kCk?作為該結點的類標記,返回TTT
(3)否則,否則按照信息增益的算法,計算AAA中各特征對DDD的信息增益,選擇信息增益最大的特征AgA_gAg?
(4)如果AgA_gAg?的信息增益小于閾值?\epsilon?,則置TTT為單結點樹,并將DDD中實例數(shù)最大的類CkC_kCk?作為該結點的類標記,返回TTT
(5)否則,對AgA_gAg?的每一可能值aia_iai?,依Ag=aiA_g=a_iAg?=ai?將DDD分割為若干非空子集DiD_iDi?,將DiD_iDi?中實例數(shù)最大的類作為標記,構建子結點,由結點及其子結點構成樹TTT,返回TTT
(6)對第iii個子結點,以DiD_iDi?為訓練集,以A?{Ag}A-\{A_g\}A?{Ag?}為特征集,遞歸地調用(1)~(5),得到子樹TiT_iTi?,返回子樹TiT_iTi?
5.3.1 C4.5算法
C4.5算法與ID3算法相似,C4.5算法對ID3算法進行了改進,C4.5在生成的過程中,用信息增益比來選擇特征。
C4.5的生成算法
輸入:訓練集DDD,特征集AAA,閾值?\epsilon?
輸出:決策樹TTT
(1)若DDD中所有實例屬于同一類CkC_kCk?,則TTT為單結點樹,并將類CkC_kCk?作為該結點的類標記,返回TTT
(2)若A=?A=\varnothingA=?,則TTT為單結點樹,并將DDD中實例數(shù)最大的類CkC_kCk?作為該結點的類標記,返回TTT
(3)否則,否則按照信息增益的算法,計算AAA中各特征對DDD的信息增益,選擇信息增益最大的特征AgA_gAg?
(4)如果AgA_gAg?的信息增益比小于閾值?\epsilon?,則置TTT為單結點樹,并將DDD中實例數(shù)最大的類CkC_kCk?作為該結點的類標記,返回TTT
(5)否則,對AgA_gAg?的每一可能值aia_iai?,依Ag=aiA_g=a_iAg?=ai?,將DDD分割為子集若干非空DiD_iDi?,將DiD_iDi?中實例數(shù)最大的類作為標記,構建子結點,由結點及其子結點構成樹TTT,返回TTT
(6)對第iii個子結點,以DiD_iDi?為訓練集,以A?{Ag}A-\{A_g\}A?{Ag?}為特征集,遞歸地調用(1)~(5),得到子樹TiT_iTi?,返回子樹TiT_iTi?
5.4 決策樹的剪枝
決策樹生成算法遞歸地產生決策樹,直到不能繼續(xù)下去為止,這樣產生的決策樹往往對訓練數(shù)據(jù)的分類很準確,但對未知的測試數(shù)據(jù)卻沒有那么準確,即出現(xiàn)過擬合現(xiàn)象。過擬合的原因在于學習時過多的考慮如何提高對訓練數(shù)據(jù)的正確分類,從而構造出過于復雜的決策樹。解決這個問題的辦法是考慮決策樹的復雜度,對已生成的決策樹進行簡化。
在決策樹學習中,將已生成的樹進行簡化的過程稱為剪枝(Pruning)。具體地,剪枝從已生成的樹上裁掉一些子樹或葉子結點,并將其根結點或父結點作為新的葉結點,從而簡化分類樹模型。
樹的剪枝算法
輸入:生成算法產生的整個樹TTT,參數(shù)α\alphaα
輸出:修剪后的子樹TαT_{\alpha}Tα?
(1)計算每個結點的經驗熵
(2)遞歸地從樹的葉結點向上回縮
設計一組葉結點回縮到其父結點之前,與之后的整體樹分別為TB與TAT_B與T_ATB?與TA?,其對應的損失函數(shù)分別是Cα(TB)與Cα(TA)C_{\alpha}(T_B)與C_{\alpha}(T_A)Cα?(TB?)與Cα?(TA?),如果Cα(TB)≤Cα(TA)C_{\alpha}(T_B)\le C_{\alpha}(T_A)Cα?(TB?)≤Cα?(TA?)則進行剪枝,即將其父結點變?yōu)樾碌娜~結點。
(3)返回(2)直至不能繼續(xù)為止,得到損失函數(shù)最小的子樹TαT_{\alpha}Tα?
5.5 CART算法
- 分類與回歸樹(CART),模型由Breiman等人在1984年提出,是應用廣泛的決策樹學習方法。CART同樣由特征選擇、樹的生成及剪枝組成,既可以用于分類也可以用于回歸。
- CART是在給定輸入隨機變量X的條件下,輸出隨機變量Y的條件概率分布的學習方法。假設決策樹是二叉樹,內部結點特征的取值為是和否,左分支的取值為是,右分支的取值為否。這樣的決策樹等價于遞歸地二分每個特征,將輸入空間即特征空間劃分為有限個單元,并在這些單元上確定預測的概率分布,也就是在輸入給定的條件下,輸出的條件概率分布。
- CART算法由以下兩步組成:
(1)決策樹生成:基于訓練數(shù)據(jù)集生成決策樹,生成的決策樹要盡量大。
(2)決策樹剪枝:用驗證數(shù)據(jù)集對已生成的樹進行剪枝并選擇最優(yōu)子樹,這時用損失函數(shù)最小作為剪枝的標準。
5.5.1 CART生成
1. 回歸樹的生成
最小二乘回歸樹生成算法
輸入:訓練數(shù)據(jù)集DDD
輸出:回歸樹f(x)f(x)f(x)
在訓練數(shù)據(jù)集所在的輸入空間中,遞歸地將每個區(qū)域劃分為兩個子區(qū)域,并決定每個子區(qū)域上的輸出值,構建二叉決策樹:
(1)選擇最優(yōu)切分變量jjj與切分點sss,求解minj,s[minc1∑xi∈R1(j,s)(yi?c1)2+minc2∑xi∈R2(j,s)(yi?c2)2]min_{j,s}[min_{c_1}\sum_{x_i\in R_1(j,s)}(y_i-c_1)^2+min_{c_2}\sum_{x_i\in R_2(j,s)}(y_i-c_2)^2]minj,s?[minc1??xi?∈R1?(j,s)∑?(yi??c1?)2+minc2??xi?∈R2?(j,s)∑?(yi??c2?)2]遍歷遍歷jjj,對固定的切分變量jjj掃描切分點sss,選擇使上式達到最小值的(j,s)(j,s)(j,s)
(2)用選定的(j,s)(j,s)(j,s)劃分區(qū)域并決定相應的輸出值
(3)繼續(xù)對兩個子區(qū)域調用步驟(1)(2)直至滿足停止條件
(4)將輸入空間劃分為M個區(qū)域R1,R2,?,RMR_1,R_2,\cdots,R_MR1?,R2?,?,RM?,生成決策樹f(x)=∑m=1Mc^mI(x∈Rm)f(x)=\sum_{m=1}^M\hat c_mI(x\in R_m)f(x)=m=1∑M?c^m?I(x∈Rm?)
2. 分類樹的生成
- 分類樹用基尼指數(shù)選擇最優(yōu)特征,同時決定該特征的最優(yōu)二值切分點
- 二類分類中基尼指數(shù)、熵之半和分類誤差率的關系
5.5.2 CART剪枝
- CART剪枝算法從完全生長的決策樹的底端減去一些子樹,使決策樹變小(模型變簡單),從而能夠對未知數(shù)據(jù)有更準確的預測。CART剪枝算法由兩步組成:首先,從生成算法產生的決策樹T0T_0T0?底端開始不斷剪枝,直到T0T_0T0?的根結點,形成一個子樹序列{T0,T1,?,Tn};\{T_0,T_1,\cdots,T_n\};{T0?,T1?,?,Tn?};然后,通過交叉驗證法在獨立的驗證數(shù)據(jù)集上,對子樹序列進行測試,從中選擇最優(yōu)子樹。
1. 剪枝,形成一個子樹序列
2.在剪枝得到的子樹序列中通過交叉驗證選取最優(yōu)子樹
本章概要
(1)樣本集合DDD對特征AAA的信息增益(ID3)
g(D,A)=H(D)?H(D∣A)g(D,A)=H(D)-H(D|A)g(D,A)=H(D)?H(D∣A)
H(D)=?∑k=1K∣Ck∣∣D∣log2∣Ck∣∣D∣H(D)=-\sum_{k=1}^K{{|C_k|}\over{|D|}}log_2{{|C_k|}\over{|D|}}H(D)=?k=1∑K?∣D∣∣Ck?∣?log2?∣D∣∣Ck?∣?
H(D∣A)=∑i=1n∣Di∣∣D∣H(Di)H(D|A)=\sum_{i=1}^n{{|D_i|}\over{|D|}}H(D_i)H(D∣A)=i=1∑n?∣D∣∣Di?∣?H(Di?)
其中H(D)H(D)H(D)是數(shù)據(jù)集DDD的熵,H(Di)H(D_i)H(Di?)是數(shù)據(jù)集DiD_iDi?的熵,H(D∣A)H(D|A)H(D∣A)是數(shù)據(jù)集DDD對特征AAA的條件熵。DiD_iDi?是DDD中特征AAA取第iii個值的樣本子集,CkC_kCk?是DDD中屬于第kkk類的樣本子集。nnn是特征AAA取值,KKK是類的個數(shù)。
(2)樣本集合DDD對特征AAA的信息增益比(C4.5)
gR(D,A)=g(D,A)HA(D)g_R(D,A)={{g(D,A)}\over{H_A(D)}}gR?(D,A)=HA?(D)g(D,A)?
其中,g(D,A)g(D,A)g(D,A)是信息增益,HA(D)H_A(D)HA?(D)是DDD關于特征AAA的值的熵。
(3)樣本集DDD的基尼指數(shù)(CART)
Gini(D)=1?∑k=1K(∣Ck∣∣D∣)2Gini(D)=1-\sum_{k=1}^K({{|C_k|}\over{|D|}})^2Gini(D)=1?k=1∑K?(∣D∣∣Ck?∣?)2
特征A條件下集合DDD的基尼指數(shù):
Gini(D,A)=∣D1∣∣D∣Gini(D1)+∣D2∣∣D∣Gini(D2)Gini(D,A)={{|D_1|}\over{|D|}}Gini(D_1)+{{|D_2|}\over{|D|}}Gini(D_2)Gini(D,A)=∣D∣∣D1?∣?Gini(D1?)+∣D∣∣D2?∣?Gini(D2?)
總結
以上是生活随笔為你收集整理的机器学习理论《统计学习方法》学习笔记:第五章 决策树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机视觉:卷积神经网络基础
- 下一篇: 计算机视觉:基于眼疾分类数据集iChal