1. 程式人生 > >整合學習(Ensemble Learning)

整合學習(Ensemble Learning)

整合學習,簡單的來講就是構建多個弱分類器對資料集進行預測,然後用某種策略將多個弱分類器的預測結果整合起來。

整合學習要求每個弱分類器有一定的準確性,且各個分類器之間具備一定的差異性

根據各個分類之間有無依賴關係,整合學習可以分為BoostingBagging兩大流派。

Boosting流派:各個分類器之間有依賴關係,必須序列。典型的如AdaBoost,GBDT,Xgboost。

Bagging流派:各個分類器之間沒有依賴關係,各自並行。典型的如隨機森林。

簡單介紹一下常見的分類器:

1.AdaBoost(Adaptive Boosting)

全稱自適應增強,最早提出於1995年。

AdaBoost的自適應在於:前一個弱分類器分錯的樣本權重會得到增強,加權後全體樣本再次被用來訓練下一個弱分類器。同時,每一輪加入一個新的弱分類器,直到達到某個預定的足夠小的錯誤率或者達到最大迭代次數

AdaBoost的訓練過程為:1.初始化訓練資料的權值分佈。若有N個樣本,則每個樣本最開始都被賦予相同的權重:1/N;2.訓練弱分類器。若某個樣本點已被準確分類,則構造下一個訓練集時,權值降低,反之則提高。權值更新過的樣本集被用於訓練下一個弱分類器,迭代進行;3.將各個訓練得到的弱分類器組合成強分類器。訓練結束後,加大分類誤差率小的分類器的權重,降低分類誤差率大的分類器的權重。即誤差率低的弱分類器在最終的分類器中佔的權重較大。