集成學習基礎知識總結-Bagging-Boosting
理論
在概率近似正確((probably approximately correct)學習框架下。一個概念是強可學習的充分必要條件是這個概念是弱可學習(僅比隨機猜測稍好
)。
要求
個體學習器要好而不同。好-要不隨機猜測強,不同–多樣性。
Bagging (Bootstrap Aggregating):隨機森林
通過bootstrap取樣
形成N個數據集(樣本擾動來保證多樣性
),每個數據集訓練一個模型,最終預測結果由投票法決定。
特點:
- boostrap取樣。
- 並行結構。
- 大多數投票決定最終結果。
隨機森林的特點:
-
CART樹的集合。
-
Binary Partition。
-
沒有剪枝。
-
兩個隨機性。
stacking:帶權重的bagging
Boosting: H(x) = sign(∑αi hi(x))
先從初始訓練集訓練出一個基學習器,再根據基學習器的表現對訓練樣本分布進行調整,使得先前基學習器做錯的訓練樣本在後續受到更多關注,然後基於調整後的樣本分布來訓練下一個基學習器如此重複進行,直至基學習器數目達到事先指定的值T , 最終將這T 個基學習器進行加權結合.
特點:
- 關注降低偏差。
- 分類器串列生成。
- 訓練樣本有權重(調整權重等價於調整分布)。
- 輸出結果通過加權結合(weighted voting)
AdaBoost: Adaptive Boosting,權重自適應
特點:
- 提高那些被前一輪弱分類器錯誤分類樣本的權值,降低那些被正確分類樣本的權值(訓練樣本分布調整方式)。
- 加權多數表決,加大分類誤差率小的弱分類器的權值,使其 在表決中起較大的作用,減小分類誤差率大的弱分類器的權值,使其在 表決中起較小的作用。(加權結合方式).
梯度提升樹(Gradient Boosting Decison Tree, GBDT;Gradient Boosting Tree)
特點:
- 採用CART樹為基學習器。
- 提升樹採用前向分步演算法:從前向後,每一步只學習一個基函數及其係數,逐步逼近目標函數式。
- 用損失函數的負梯度作為殘差的估計值。
XGBoost
特點:
- 正則化項防止過擬合。
- XGBoost使用了一階和二階偏導, 二階導數有利於梯度下降的更快更准。