ML:基礎技法學習
Package:scikit-learn
課程:機器學習技法
簡介:第十一講 Gradient Boosted Decision Tree
sklearn.ensemble.GradientBoostingClassifier
sklearn.ensemble.GradientBoostingRegressor
Package:scikit-learn
課程:機器學習技法
簡介:第十一講 Gradient Boosted Decision Tree
Adaptive Boosted Decision Tree
- function AdaBoost-DTree(
) - for
, 自行決定 - 兩種方式得到
必須為 pruned- 傳入
為依 從 抽樣- 更新
為 ,藉由
- 計算
- 回傳
Optimization View of AdaBoost
-
Get
by 最小 的 為 -
代入
,Get by
Gradient Boosted Decision Tree (GBDT)
- for
為 squared-error regression algorithm 為 sampled and pruned C&RT 是不錯的選擇- 更新
- 回傳
綜合比較
- Aggregation Models
- blending (aggregate 需先有多樣性的
) - uniform
- 簡單
- voting/averaging of
- 穩定,可互相修正
- non-uniform
- linear model on
-transformed inputs - powerful 但需小心 overfitting
- conditional
- nonlinear model on
-transformed inputs - powerful 但需小心 overfitting
- learning (aggregate 會自動得到多樣性的
) - Bagging
- 多樣性的
來自 bootsrapping - uniform vote by nothing
- 延伸
- Random Forest
- 實務上常用
- randomized bagging + strong DTree
- Boost
- 實務上常用
- AdaBoost
- 多樣性的
來自 reweighting - linear vote by steepest search
- 延伸
- AdaBoost-DTree
- AdaBoost + weak DTree
- GradientBoost
- 多樣性的
來自 residual fitting - linear vote by steepest search
- 延伸
- Gradient Boosted Decision Tree (GBDT)
- GradientBoost + weak DTree
- Decision Tree
- 多樣性的
來自 data splitting - condition vote by branching
- Specialty
- cure underfitting
strong- aggregation 等同在做 feature transform
- cure overfitting
moderate- aggregation 等同在做 regularization
- 不同的 aggregation,有不同的特性
合適地混用 aggregation (a.k.a. ensemble) 可得到更好的結果
程式碼
參考
如何通俗地解释泰勒公式?sklearn.ensemble.GradientBoostingClassifier
sklearn.ensemble.GradientBoostingRegressor
留言
張貼留言