·來自:https://mp.weixin.qq.com/s/tevVm0jlS6vZ3LCnczWD0w
前言
李航老師《統計學習方法》詳細的描述了決策樹的生成和剪枝。根據書的內容,做總結如下。
目錄
- 決策樹不確定性的度量方法
- 決策樹的特征篩選准則
- 決策函數的損失函數評估
- 決策樹最優模型的構建步驟
- 決策樹的優缺點分析
a. 決策樹不確定性的度量方法
1. 不確定性理解
下圖為事件A是否發生的概率分布,事件發生記為1,討論事件A的不確定性。
(1)一種極端情況,若p=1或p=0,表示為事件A必定發生或事件A不可能發生。
(2)若p>1/2,即事件A發生的概率大於事件A不發生的概率,我們傾向於預測事件A是發生的;若 p<1/2,即事件A不發生的概率小於事件A發生的概率,我們傾向於預測事件A是不發生的;若 p=1/2,即事件A發生的概率等於事件A不發生的概率,我們無法作出預測。
2. 決策樹不確定性的度量方法
這里用熵和基尼指數去衡量數據集的不確定性,假設數據集包含K類,每個類的大小和比例分別為Di和pi,i = 1,2,...,k。
(1)熵的不確定性度量方法
信息論和概率統計中,熵是表示隨機變量不確定性的度量,令熵為H(p),則:
熵越大,數據集的不確定性就越大。
(2)基尼指數的不確定度量方法
數據集的基尼指數定義為:
基尼指數越大,數據集不確定性越大。
b. 決策樹特征篩選准則
假設數據集A共有K個特征,記為xi,i = 1,2,...,K。數據集A的不確定性越大,則數據集A包含的信息越多。假設數據集A的信息為H(A),經過特征xi篩選后的信息為H(A|xi),定義信息增益g(A, xi)為兩者的差值,即:
g(A, xi) = H(A) - H(A|xi)
選擇使數據集A信息增益最大的特征作為決策樹當前節點,數學表示為:
x = max( g(A,xi) ) = max( H(A) - H(A|xi) )
C. 決策樹的損失函數評估
令決策樹的葉節點數為T,損失函數為:
其中C(T)為決策樹的訓練誤差,決策樹模型用不確定性表示,不確定性越大,則訓練誤差亦越大。T表示決策樹的復雜度懲罰,α參數權衡訓練數據的訓練誤差與模型復雜度的關系,意義相當於正則化參數。
考慮極端情況:當α趨於0的時候,最優決策樹模型的訓練誤差接近 0,模型處於過擬合;當α趨於無窮大的時候,最優決策樹模型是由根節點組成的單節點樹。
d. 決策樹最優模型的構建步驟
將數據集A通過一定的比例划分為訓練集和測試集。
決策樹的損失函數:
決策樹最優模型的構建步驟包括訓練階段和測試階段:
訓練階段:
(1)最小化決策樹的不確定性值得到的生成模型,即決策樹生成;
(2)通過決策樹剪枝,得到不同的正則化參數α下的最優決策樹模型,即決策樹剪枝。
下面重點討論訓練階段的決策樹生成步驟和決策樹剪枝步驟。
決策樹生成步驟:
(1) 根據決策樹的特征篩選准則,選擇數據集信息增益最大的特征;
(2) 重復第一個步驟,直到所有葉節點的不確定性為0 。
決策樹剪枝步驟:
(1)將正則化參數α從小到大分成不同的區間
e. 決策樹優缺點
優點:模型很強的解釋性
缺點:容易過擬合。即訓練誤差很小,測試誤差很大。為避免過擬合,使用時結合集成算法。如:bagging算法、boosting算法。