【機器學習模型詳細推導4】-決策樹
阿新 • • 發佈:2018-11-26
決策樹
一. 決策樹介紹
模型: 一個樹形的判斷結構,內部結點表示特徵或屬性,葉子節點表示一個分類
如何學習一個決策樹:
- 特徵選擇
- 樹的生成
- 決策樹剪枝
實現演算法: ID3、C4.5、CART
二. ID3/C4.5
0)熵:描述資料集合不確定性的方法
1)特徵選擇:
對每一個特徵進行計算,優先選擇資訊增益/資訊增益率大的特徵。
-
資訊增益(ID3演算法採用)
特徵A對訓練資料集D的資訊增益:
其中,k代表標籤類別,n表示D被A劃分的類別。 -
資訊增益率(C4.5採用)
其中, 表示特徵變數本身的複雜程度,代表資料集D被A特徵劃分的熵,而不是按照標籤類別劃分的熵
(Q1:資訊增益率對比資訊增益的好處?)
因為資訊增益偏向於選擇取值較多的特徵(例如編號、日期這種特徵取值很多但沒意義),容易過擬合。需要一個對特徵變數本身複雜度的懲罰項,所以就有了資訊增益率。
2)決策樹生成
【1】選擇資訊增益/資訊增益率最大的特徵作為數節點的判斷特徵
【2】由選定特徵的不同取值建立子結點
【3】子結點遞迴選擇特徵,構建決策樹
【4】直到所有特徵的
都很小或沒有特徵
3)決策樹剪枝
在決策樹生成之後,利用樹整體的損失函式進行剪枝
樹T的損失函式:
其中,
表示預測誤差,用經驗熵來計算;
表示葉子節點數,即模型複雜度;引數
控制兩者之間的影響,剪枝的核心也就在
了,
可以控制樹的大小。
葉子節點t上的經驗熵: