Ensemble Learning中的Bagging和Boosting

Ensemble Learning大致可以分爲兩大類:

1、個體學習器之間存在強依賴關係、串行生成的序列化方法(Sequential Ensemble),代表是Boosting。

2、個體學習器之間不存在強依賴關係、可同時生成的並行方法(Independent Ensemble),代表是Bagging。

 

Boosting是一種將弱學習器轉換爲強學習器的算法,周志華的西瓜書描述它的機制:先從初始訓練集訓練出一個基學習器,然後根據基學習器的表現對訓練樣本進行調整,使得先前基學習器做錯的訓練樣本在後續受到更多的關注,然後基於調整後的樣本分佈來訓練下一個基學習器。 Boosting 的代表是Adam Boosting。

Bagging是Bootstrap Aggregating的縮寫。它通過自助採樣的方法(boostrap sampling),每次從數據集中隨機選擇一個subset,然後放回初始數據集,下次取時,該樣本仍然有一定概率取到。然後根據對每個subset訓練出一個基學習器,然後將這些基學習器進行結合。對於分類任務可以通過vote來輸出結果,迴歸任務可以求平均值。

 

從Bias-Variance Trade-off的角度來看,Boosting主要關注降低Bias,因而容易造成Overfit。而Bagging則側重於降低Variance,所以容易陷入Underfit。原因是Boosting通過一次次的迭代,最小化loss function,所以降低Bias很好理解;由於受數據中的noise和anamoly的影響,Boosting會對受這些數據的影響,而Bagging則通過選取subset可以在一定程度上減少異常數據的影響,使得數據的分佈更加均勻,從而降低Variance。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章