【机器学习】Bagging和Boosting的区别(面试准备)
Baggging 和Boosting都是模型融合的方法,可以將弱分類器融合之后形成一個(gè)強(qiáng)分類器,而且融合之后的效果會(huì)比最好的弱分類器更好。
Bagging:
先介紹Bagging方法:
Bagging即套袋法,其算法過(guò)程如下:
從原始樣本集中抽取訓(xùn)練集。每輪從原始樣本集中使用Bootstraping的方法抽取n個(gè)訓(xùn)練樣本(在訓(xùn)練集中,有些樣本可能被多次抽取到,而有些樣本可能一次都沒(méi)有被抽中)。共進(jìn)行k輪抽取,得到k個(gè)訓(xùn)練集。(k個(gè)訓(xùn)練集之間是相互獨(dú)立的)
每次使用一個(gè)訓(xùn)練集得到一個(gè)模型,k個(gè)訓(xùn)練集共得到k個(gè)模型。(注:這里并沒(méi)有具體的分類算法或回歸方法,我們可以根據(jù)具體問(wèn)題采用不同的分類或回歸方法,如決策樹、感知器等)
對(duì)分類問(wèn)題:將上步得到的k個(gè)模型采用投票的方式得到分類結(jié)果;對(duì)回歸問(wèn)題,計(jì)算上述模型的均值作為最后的結(jié)果。(所有模型的重要性相同)
Boosting:
? ? ? AdaBoosting方式每次使用的是全部的樣本,每輪訓(xùn)練改變樣本的權(quán)重。下一輪訓(xùn)練的目標(biāo)是找到一個(gè)函數(shù)f 來(lái)擬合上一輪的殘差。當(dāng)殘差足夠小或者達(dá)到設(shè)置的最大迭代次數(shù)則停止。Boosting會(huì)減小在上一輪訓(xùn)練正確的樣本的權(quán)重,增大錯(cuò)誤樣本的權(quán)重。(對(duì)的殘差小,錯(cuò)的殘差大)
? ? ? 梯度提升的Boosting方式是使用代價(jià)函數(shù)對(duì)上一輪訓(xùn)練出的模型函數(shù)f的偏導(dǎo)來(lái)擬合殘差。
Bagging,Boosting二者之間的區(qū)別
Bagging和Boosting的區(qū)別:
1)樣本選擇上:
Bagging:訓(xùn)練集是在原始集中有放回選取的,從原始集中選出的各輪訓(xùn)練集之間是獨(dú)立的。
Boosting:每一輪的訓(xùn)練集不變,只是訓(xùn)練集中每個(gè)樣例在分類器中的權(quán)重發(fā)生變化。而權(quán)值是根據(jù)上一輪的分類結(jié)果進(jìn)行調(diào)整。
2)樣例權(quán)重:
Bagging:使用均勻取樣,每個(gè)樣例的權(quán)重相等
Boosting:根據(jù)錯(cuò)誤率不斷調(diào)整樣例的權(quán)值,錯(cuò)誤率越大則權(quán)重越大。
3)預(yù)測(cè)函數(shù):
Bagging:所有預(yù)測(cè)函數(shù)的權(quán)重相等。
Boosting:每個(gè)弱分類器都有相應(yīng)的權(quán)重,對(duì)于分類誤差小的分類器會(huì)有更大的權(quán)重。
4)并行計(jì)算:
Bagging:各個(gè)預(yù)測(cè)函數(shù)可以并行生成
Boosting:各個(gè)預(yù)測(cè)函數(shù)只能順序生成,因?yàn)楹笠粋€(gè)模型參數(shù)需要前一輪模型的結(jié)果。
5)為什么說(shuō)bagging是減少variance(方差),而boosting是減少bias(偏差)??
這個(gè)很重要?
通常來(lái)說(shuō)bagging,之所以進(jìn)行bagging,是希望模型能夠具有更好的魯棒性,也就是穩(wěn)定性,希望避免過(guò)擬合,顯然這就是在減少variance。
而boosting是在優(yōu)化loss function損失函數(shù)--- L2正則,在降低loss,那么很顯然,這在很大程度上是減少bias。
?
?
?
總結(jié)
以上是生活随笔為你收集整理的【机器学习】Bagging和Boosting的区别(面试准备)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: \t\t使用Google APP Eng
- 下一篇: 算法竞赛入门经典(第2版)—索引