序
boosting是集成學(xué)習(xí)中的一個(gè)大家族,本次記錄boosting的相關(guān)概念以及與bagging的區(qū)別。
boosting思想
Boosting是一族可以將若學(xué)習(xí)器提升為強(qiáng)學(xué)習(xí)器的算法,代表算法為AdaBoost。該算法的工作機(jī)制:先從初始訓(xùn)練集訓(xùn)練出一個(gè)基學(xué)習(xí)器,再根據(jù)基學(xué)習(xí)器的表現(xiàn)對(duì)訓(xùn)練樣本分布進(jìn)行調(diào)整,使得先前基學(xué)習(xí)器做錯(cuò)的訓(xùn)練樣本在后續(xù)受到更多關(guān)注,然后基于調(diào)整后的樣本分布來(lái)訓(xùn)練下一個(gè)基學(xué)習(xí)器。如此反復(fù)進(jìn)行,直至學(xué)習(xí)器數(shù)目達(dá)到事先指定的值T,最終將這T個(gè)基學(xué)習(xí)器進(jìn)行加權(quán)結(jié)合。
boosting與bagging
1、樣本選取方式
bagging是有放回地均勻采樣,從原始訓(xùn)練集中選取的子集之間是相互獨(dú)立的。
boosting:每一輪的訓(xùn)練集不變,只是訓(xùn)練集中的每個(gè)樣例在分類器中的權(quán)重發(fā)生變化,而這個(gè)權(quán)值是根據(jù)上一輪分類結(jié)果進(jìn)行調(diào)整的。
2、樣例權(quán)重
bagging:均勻采樣,樣例權(quán)重相同
boosting:根據(jù)錯(cuò)誤率不斷調(diào)整樣例的權(quán)重,錯(cuò)誤率越大,權(quán)重越大。
3、預(yù)測(cè)函數(shù)
bagging:所有預(yù)測(cè)函數(shù)的權(quán)重相同
boosting:每個(gè)弱分類器具有不同的權(quán)重,分類誤差小的分類器會(huì)有更大的權(quán)重(因?yàn)橐谧詈蟮慕Y(jié)合中起更大的作用)
4、并行計(jì)算
bagging:各個(gè)預(yù)測(cè)函數(shù)可以并行生成
boosting:各個(gè)預(yù)測(cè)函數(shù)順序生成,因?yàn)楹笠粋€(gè)學(xué)習(xí)器的參數(shù)需要前一個(gè)模型的結(jié)果。
boosting與bagging的各自適用場(chǎng)景
- 特征維度
特征維度過(guò)大時(shí),bagging(特指RF)優(yōu)于boosting(特指adaboost),但是更準(zhǔn)確來(lái)講,作為梯度提升樹(shù)的變種xgb和lgb當(dāng)然也具備列采樣甚至更好的算法來(lái)應(yīng)對(duì)這種情況,這里只說(shuō)傳統(tǒng)意義下的bagging與boosting要如何選擇。 - 數(shù)據(jù)量
數(shù)據(jù)量過(guò)大情況下,優(yōu)先使用bagging,因?yàn)閎agging的樹(shù)的生長(zhǎng)過(guò)程是并行的,而boosting是串行。 - 模型魯棒性
若訓(xùn)練集較小,此時(shí)使用boosting訓(xùn)練如果參數(shù)控制不好容易過(guò)擬合,因?yàn)閎oosting本身是一個(gè)關(guān)注降低模型偏差的方法,而bagging是降低模型方差的方法,因?yàn)閎agging的各種樣本及屬性的隨機(jī)擾動(dòng)策略使得模型會(huì)魯棒性較好,但是當(dāng)然我們需要關(guān)注基模型的偏差。 - 數(shù)據(jù)量適中,維度大小適中的情況下
優(yōu)先選用boosting,因?yàn)閎oosting的精度更高一些,因?yàn)槠鋵?duì)各個(gè)樣本是給予相關(guān)權(quán)重的,而不像bagging是均勻看待和抽樣。 - 噪聲點(diǎn)
Boosting算法對(duì)噪聲異常敏感,從偏差與方差間的權(quán)衡來(lái)看,如果數(shù)據(jù)是嘈雜的,Boosting算法可能會(huì)呈現(xiàn)出較高的模型方差。然而在其他情況下,Boosting算法往往能夠取得較好的效果。
轉(zhuǎn)載注明:http://www.itdecent.cn/p/dcdc4d7425d0