集成學習是時下非常火爆的一款機器學習方法,是將多個弱分類器按照某種方式組合起來,形成一個強分類器,以此來獲得比單個模型更好的回歸和分類表現,其常用的方法有 Bagging 和 Boosting。
Bagging
把數據集通過有放回的抽樣方式,一次性建立多個平行獨立的弱評估器。針對分類問題,按照少數服從多數原則進行投票,針對回歸問題,求多個測試結果的平均值。其代表模型為隨機森林。
Boosting
Bagging 是以自適應的方法按順序一一學習這些弱學習器,即每個新學習器都依賴於前面的模型,並按照某種確定性的策略將它們組合起來 ,其核心思想是結合弱評估器的力量一次次對難以評估的樣本進行預測,從而構成一個強評估器。其代表算法為 AdaBoost 和 GBDT (梯度提升)。
AdaBoost 與 GBDT 的區別AdaBoost
第一顆樹建模完成後,對模型進行評估,然後將模型預測錯誤的樣本反饋給我們的數據集,第一次迭代就算完成。在第二次有放回抽樣時,被給予前面錯誤預測的數據更高權重,簡單來說就是前面被判斷錯誤的樣本更有可能被我們抽中。
GBDT
第一顆樹建模完成後,把其殘差(真實值和預測值之間的差值)結果作為下一次預測依據,依次類推,直到殘差小於某個接近 0 的閥值或回歸樹數目達到某一閥值。其核心思想是每輪通過擬合殘差來降低損失函數。
Boosting 與 Bagging 的區別:
評估器:Bagging 的基分類器訓練是獨立的,而 Boosting 的訓練集是依賴於之前的模型;
作用:Bagging 的作用是減少方差,提升模型的整體穩定性,而 Boosting 在於減少偏差,提高模型整體的精確度;
抽樣數據集:Bagging 是有放回抽樣,Boosting 也是有放回抽樣,但是會確認數據的權重。