梯度提升法

R 的樹狀模型機器學習

Sandro Raabe

Data Scientist

重點回顧:提升法

  • 使用弱學習器(如僅一個分裂的決策樹),表現略優於隨機猜測
  • 將這些弱學習器相加,濾除已正確的預測
  • 每一步處理剩下的困難觀測值

 

  • AdaBoost:第一個廣為流行的提升法
  • Gradient Boosting:對 AdaBoost 的改良
R 的樹狀模型機器學習

比較

Adaboost
  • 使用決策樁作為弱學習器
  • 為觀測值設定權重:
    • 困難觀測值給高權重
    • 正確預測給低權重
Gradient boosting
  • 使用小型決策樹作為弱學習器
  • 以損失函式取代權重
  • 以梯度下降最佳化損失函式
R 的樹狀模型機器學習

提升法的優缺點

 

優點

  • 表現最佳的機器學習模型之一
  • 對不平衡資料是好選擇

 

缺點

  • 容易過度擬合
  • 訓練可能較慢(取決於 learning rate 超參數)
  • 需調參的超參數很多
R 的樹狀模型機器學習

梯度提升法的超參數

與簡單決策樹相同的超參數
  • min_n:進一步分裂所需節點的最少資料點數
  • tree_depth:樹的最大深度/分裂次數
與隨機森林、袋裝樹相同:
  • sample_size:提供給擬合流程的資料量
  • trees:集成中的樹數
R 的樹狀模型機器學習

梯度提升法的超參數

與隨機森林相同:
  • mtry:每次分裂隨機抽樣的預測變數數量
提升樹特有:
  • learn_rate:每次迭代中演算法適應的速率
  • loss_reduction:進一步分裂所需的損失函式降低量
  • stop_iter:在無改善下停止前的迭代次數
R 的樹狀模型機器學習

一起來練習吧!

R 的樹狀模型機器學習

Preparing Video For Download...