bagging和boosting都屬于組合學(xué)習(xí)算法,都是將簡單的分類或者回歸算法組合在一起來提高模型的分類或者回歸效果吮便,但是兩者還是有區(qū)別的贴膘,這篇文章主要梳理下兩者的區(qū)別和特點灵巧。
1、bagging
步驟:
(1)從原始樣本里抽取訓(xùn)練集夏伊。每一輪從原始樣本中使用又放回的方法抽取n個訓(xùn)練樣本摇展,一共進行k次抽取,得到k個訓(xùn)練集溺忧。
(2)每次使用一個訓(xùn)練集得到一個模型咏连,k個訓(xùn)練集一共得到k個模型。
(3)對于分類問題鲁森,對k個模型投票得到結(jié)果祟滴,對于回歸問題,將均值作為最后的結(jié)果
注意:
(1)在訓(xùn)練集中歌溉,有的樣本可能被多次抽到垄懂,有的可能一次都沒有被抽中。
(2)k個訓(xùn)練集之間是獨立的痛垛。
(3)所有模型的重要性是相同的草慧。
2、boosting
核心思想:將弱分類器組合成強分類器匙头。
通過加法模型將弱分類器進行線性組合漫谷,比如說最經(jīng)典的就是adaboost,以及后面學(xué)習(xí)的gbdt和xgboost蹂析,對于adaboot舔示,這里注意有兩個權(quán)值:
(1)訓(xùn)練數(shù)據(jù)的權(quán)值:提高前一輪被弱分類器分錯樣本的權(quán)值,減小分對的樣本的權(quán)值电抚,是分類器重點關(guān)注誤分類的樣本斩郎。
(2)分類器的權(quán)重:采用加權(quán)多數(shù)表決,增大錯誤率小的權(quán)值喻频,減小錯誤率大的分類器的權(quán)值。就是分的越準(zhǔn)肘迎,說的越算甥温。對于gbdt來說,是通過擬合殘差妓布,一步步降低殘差的方法來的得到最終的組合模型的姻蚓。
3、兩者的區(qū)別
(1)樣本選擇
bagging:有放回抽樣
boosting:全量數(shù)據(jù)訓(xùn)練
(2)樣本權(quán)重
bagging:每個樣本權(quán)重相等
boosting:不斷調(diào)整權(quán)重匣沼,分錯的重點關(guān)注狰挡,權(quán)重變大
(3)預(yù)測函數(shù)
bagging:所有預(yù)測函數(shù)(分類器/回歸器)權(quán)重相等
boosting:每個預(yù)測函數(shù)都有自己的權(quán)重,誤差小的權(quán)重高
(4)并行計算
bagging:每個預(yù)測函數(shù)之間相互獨立,可并行
boosting:按順序生成加叁,相互依賴倦沧,不能并行。但是可以對分裂點的計算實行并行化它匕。
4展融、擴展
(1)Bagging + 決策樹 = 隨機森林
(2)AdaBoost + 決策樹 = 提升樹
(3)Gradient Boosting + 決策樹 = GBDT
5、與偏差方差的對應(yīng)關(guān)系
我們先回顧一下高偏差和高方差的原因:
高偏差:模型過于簡單豫柬,損失函數(shù)過大
高方差:模型過于復(fù)雜告希,記住了太多的細節(jié)噪音
bagging中的每一個預(yù)測函數(shù)的偏差都比較低(如果是決策樹,是需要完全分裂的)烧给,并且都有可能發(fā)生過擬合燕偶,所以將多個預(yù)測函數(shù)進行平均,起到了降低方差的作用础嫡。
boosting是對弱分類器的組合指么,弱分類器的偏差高,強分類器的偏差低驰吓,所以boosting起到了降低偏差的作用
參考文章:
統(tǒng)計學(xué)習(xí)方法
http://www.cnblogs.com/liuwu265/p/4690486.html
https://www.zhihu.com/question/26760839