1. 程式人生 > >機器學習與深度學習系列連載: 第一部分 機器學習(十一)決策樹2(Decision Tree)

機器學習與深度學習系列連載: 第一部分 機器學習(十一)決策樹2(Decision Tree)

決策樹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) 不是為每個非葉結點尋找 最優劃分屬性,而是建立一個線性分類器
在這裡插入圖片描述

更復雜的“混合決策樹”甚至可以在結點嵌入神經網路或其他非線性模型

9. 決策樹常用軟體包