机器学习——决策树的三种学习方法
目錄
ID3
C4.5
CART
我們知道決策樹學習采用的是自頂向下的遞歸方法,其基本思想是以信息熵為度量構造一顆熵值下降最快的樹,到葉子節點處的熵值為零,此時每個葉子結點中的實例都屬于同一類。
建立決策樹的關鍵,即在當前狀態下選擇哪一個屬性作為分類依據。根據不同的目標函數,建立決策樹主要有以下三種算法。
- ID3(Iterative Dichotomiser)
- C4.5
- CART(Classification And Regression Tree)
ID3
ID3算法的核心思想就是以信息增益來度量特征的選擇,選擇分裂后信息增益最大的特征進行分裂。信息增益表示得知特征A的信息而使得類X的信息的不確定性減少的程度。
要理解信息增益我們先從信息熵的定義開始。信息熵是香農借鑒熱力學的概念提出的對信息進行描述的概念,指信息中排除了冗余后的平均信息量。不確定函數f應滿足兩個條件:(1)f是事情發生概率P的減函數;(2)兩個獨立符號所產生的不確定性等于各自不確定性之和。所以有,信息源的平均不確定性應當為單個符號不確定性的統計平均值(E),可稱為信息熵,即
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
H(Y|X)=H(X,Y)-H(X)被稱為條件熵,表示X發生的前提下Y的熵,當熵和條件熵中的概率🈶數據估計(特別是極大似然估計)得到時,所對應的熵和條件熵分別成為經驗熵和經驗條件熵。定義:特征A對訓練數據集D的信息增益g(D,A),定義為集合D的經驗熵H(D)的特征A給定條件下D的經驗條件熵H(D|A)之差,即g(D,A)=H(D)-H(D|A),顯然,這即為訓練數據集D和特征A的互信息。
推導條件熵的定義式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
信息增益的計算方法
設訓練數據集為D,|D|表示樣本個數;
設有K個類,為屬于類的樣本個數,有:;
設特征A有n個不同的取值{},根據特征A的取值將D劃分為n個子集為的樣本個數,有:;
記子集中屬于類的樣本的集合為,為的樣本個數。
計算數據集D的經驗熵:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
計算經驗條件熵H(D|A):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
計算特征A的信息增益:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
遍歷所有特征,選擇信息增益最大的特征作為當前的分類特征。
優點:決策樹ID3算法易于理解,能處理數據型的也能處理常規型的數據,還可以在相對較短的時間內能夠對大型的數據集做出可行且較好的結果。
缺點:決策樹ID3算法比較偏向于選擇屬性值多的類別。
C4.5
ID3偏向于選擇屬性值多的特征類別,這樣會導致每個屬性的樣本數較少,此時噪聲對模型的影響會更為顯著,容易產生過擬合。為解決這一問題,引入信息增益率來作為度量進行特征選擇,信息增益率公式為:
公式中將信息增益除以所對應特征的信息熵來表示信息增益率,若特征屬性值較多則H(A)較大,信息增益率比信息增益小,能夠很好的抑制模型選擇屬性值多的特征。
CART
CART是一棵二叉樹,采用二元切分法,每次把數據切成兩份,分別進入左子樹、右子樹。而且每個非葉子節點都有兩個孩子,所以CART的葉子節點比非葉子多1。相比ID3和C4.5,CART應用要多一些,既可以用于分類也可以用于回歸。CART分類時,使用基尼指數(Gini)來選擇最好的數據分割的特征,gini描述的是純度,與信息熵的含義相似。CART中每一次迭代都會降低GINI系數。公式如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
Variance方差也是衡量集合中樣本不純度的一種指標,因為只是針對連續值,因此只能用于處理回歸決策樹。假設集合D中每個樣本的值為,那么集合D的Variance方差則定義為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
一個特征的信息增益(率)/gini指數越大,表明屬性對樣本的熵減少能力更強,這個屬性使得數據由不確定性變成確定性的能力越強。
?
總結
以上是生活随笔為你收集整理的机器学习——决策树的三种学习方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人脸变形算法——MLS
- 下一篇: EfficientNet论文阅读笔记