機器學習與深度學習系列連載: 第一部分 機器學習(十一)決策樹2(Decision Tree)
阿新 • • 發佈:2018-12-12
決策樹2
決策樹很容易出現過擬合問題,針對過擬合問題,我們採用以下幾種方法
劃分選擇 vs 剪枝
剪枝 (pruning) 是決策樹對付“過擬合”的 主要手段!
基本策略:
- 預剪枝 (pre-pruning): 提前終止某些分支的生長
- 後剪枝 (post-pruning): 生成一棵完全樹,再“回頭”剪枝
剪枝過程中需評估剪枝前後決策樹的優劣
我們還是以西瓜書的例子:
我們通過訓練集得到未剪枝決策樹:
驗證資料
1.預剪枝
2. 後剪枝
3. 兩種策略比較
-
時間開銷:
預剪枝:訓練時間開銷降低,測試時間開銷降低 後剪枝:訓練時間開銷增加,測試時間開銷降低
-
過/欠擬合風險:
預剪枝:過擬合風險降低,欠擬合風險增加 後剪枝:過擬合風險降低,欠擬合風險基本不變
-
泛化效能:後剪枝 通常優於 預剪枝
4. 連續值處理
基本思路:連續屬性離散化
常見做法:二分法 (bi-partition)
- n 個屬性值可形成 n-1 個候選劃分
- 然後即可將它們當做 n-1 個離散屬性值處理
5. 缺失值處理
僅使用無缺失的樣例? 對資料的極大浪費
使用帶缺失值的樣例,需解決:
Q1:如何進行劃分屬性選擇?
Q2:給定劃分屬性,若樣本在該屬性上的值缺失,如何進行劃分?
基本思路:樣本賦權,權重劃分 (半監督學習)
6. 從“樹”到“規則”
- 一棵決策樹對應於一個“規則集”
- 每個從根結點到葉結點的分支路徑對應於一條規則
7. 軸平行劃分
單變數決策樹:在每個非葉結點僅考慮一個劃分屬性產生“軸平行”分類面
當學習任務所對應的分類邊界很複雜時,需要非常多段劃分才能獲得較好的近似
8. 多變數(multivariate)決策樹
多變數(multivariate)決策樹
多變數決策樹:每個非葉結點不僅考慮一個屬性
例如“斜決策樹” (oblique decision tree) 不是為每個非葉結點尋找 最優劃分屬性,而是建立一個線性分類器
更復雜的“混合決策樹”甚至可以在結點嵌入神經網路或其他非線性模型