bootstraping、bagging、boosting三個(gè)算法的概念及區(qū)別

Bagging和Boosting都是將已有的分類或回歸算法通過一定方式組合起來,形成一個(gè)性能更加強(qiáng)大的分類器,更準(zhǔn)確的說這是一種分類算法的組裝方法。即將弱分類器組裝成強(qiáng)分類器的方法。

一、 booststraping:意思是依靠你自己的資源,稱為自助法,它是一種有放回的抽樣方法,它是非參數(shù)統(tǒng)計(jì)中一種重要的估計(jì)統(tǒng)計(jì)量方差進(jìn)而進(jìn)行區(qū)間估計(jì)的統(tǒng)計(jì)方法(如均值、方差等)。

其核心思想和基本步驟如下:

(1)采用重抽樣技術(shù)從原始樣本中抽取一定數(shù)量(自己給定)的樣本,此過程允許重復(fù)抽樣。

(2)根據(jù)抽出的樣本計(jì)算統(tǒng)計(jì)量T。

(3)重復(fù)上述N次(一般大于1000),得到統(tǒng)計(jì)量T。

(4)計(jì)算上述N個(gè)統(tǒng)計(jì)量T的樣本方差,得到統(tǒng)計(jì)量的方差。

應(yīng)該說是Bootstrap是現(xiàn)代統(tǒng)計(jì)學(xué)較為流行的方法,小樣本效果好,通過方差的估計(jì)可以構(gòu)造置信區(qū)間等。

二、Bagging (bootstrap aggregating)

Bagging即套袋法,可譯為自主整合法,其算法過程如下:

A)從原始樣本集中抽取訓(xùn)練集。每輪從原始樣本集中使用Bootstraping的方法抽取n個(gè)訓(xùn)練樣本(在訓(xùn)練集中,有些樣本可能被多次抽取到,而有些樣本可能一次都沒有被抽中)。共進(jìn)行k輪抽取,得到k個(gè)訓(xùn)練集。(k個(gè)訓(xùn)練集之間是相互獨(dú)立的)

B)每次使用一個(gè)訓(xùn)練集得到一個(gè)模型,k個(gè)訓(xùn)練集共得到k個(gè)模型。(注:這里并沒有具體的分類算法或回歸方法,我們可以根據(jù)具體問題采用不同的分類或回歸方法,如決策樹、感知器等)

C)對(duì)分類問題:將上步得到的k個(gè)模型采用投票的方式得到分類結(jié)果;對(duì)回歸問題,計(jì)算上述模型的均值作為最后的結(jié)果。(所有模型的重要性相同)

三、Boosting

其主要思想是將弱分類器組裝成一個(gè)強(qiáng)分類器。在PAC(概率近似正確)學(xué)習(xí)框架下,則一定可以將弱分類器組裝成一個(gè)強(qiáng)分類器。

其中主要的是adaboost(adaptive boosting),即自適應(yīng)助推法。

關(guān)于Boosting的兩個(gè)核心問題:

1)在每一輪如何改變訓(xùn)練數(shù)據(jù)的權(quán)值或概率分布?

通過提高那些在前一輪被弱分類器分錯(cuò)樣例的權(quán)值,減小前一輪分對(duì)樣例的權(quán)值,來使得分類器對(duì)誤分的數(shù)據(jù)有較好的效果。

2)通過什么方式來組合弱分類器?

通過加法模型將弱分類器進(jìn)行線性組合,比如AdaBoost通過加權(quán)多數(shù)表決的方式,即增大錯(cuò)誤率小的分類器的權(quán)值,同時(shí)減小錯(cuò)誤率較大的分類器的權(quán)值。

而提升樹通過擬合殘差的方式逐步減小殘差,將每一步生成的模型疊加得到最終模型。

gradient boosting:

boosting是一種思想,Gradient Boosting是一種實(shí)現(xiàn)Boosting的方法,它的主要思想是,每一次建立模型,是在之前建立模型損失函數(shù)的梯度下降方向。損失函數(shù)描述的是模型的不靠譜程度,損失函數(shù)越大,說明模型越容易出錯(cuò)。如果我們的模型能夠讓損失函數(shù)持續(xù)的下降,說明我們的模型在不停的改進(jìn),而最好的方式就是讓損失函數(shù)在其梯度的方向下降。

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é)果。

在大多數(shù)數(shù)據(jù)集中,boosting的準(zhǔn)確性要比bagging高。有一些數(shù)據(jù)集總,boosting會(huì)退化-overfit。boosting思想的一種改進(jìn)型adaboost方法在郵件過濾,文本分類中有很好的性能。

四、總結(jié)

這兩種方法都是把若干個(gè)分類器整合為一個(gè)分類器的方法,只是整合的方式不一樣,最終得到不一樣的效果,將不同的分類算法套入到此類算法框架中一定程度上會(huì)提高了原單一分類器的分類效果,但是也增大了計(jì)算量。

下面是將決策樹與這些算法框架進(jìn)行結(jié)合所得到的新的算法:

1)Bagging + 決策樹 = 隨機(jī)森林

2)AdaBoost + 決策樹 = 提升樹

3)Gradient Boosting + 決策樹 = GBDT


參考文獻(xiàn):

1、快速理解bootstrap,bagging,boosting-三個(gè)概念(CSDN博客, 作者:wangqi880)

2、Bagging和Boosting 概念及區(qū)別(博客園, 作者:liuwu265)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容