1. 程式人生 > >Bagging演算法和Boosting區別和聯絡

Bagging演算法和Boosting區別和聯絡

參考文章連結:http://www.cnblogs.com/liuwu265/p/4690486.html

Bagging和Boosting都是將弱分類器組裝成強分類器的方法

備註:弱分類器也是有一定限制的起碼分類效果要比隨機分類效果好,即準確率要大於50%,

否則即使組裝成多個分類器的組合效果也不會很好)

1、Bagging 演算法

A)設原始資料數量為K,從K個訓練樣本中隨機抽取k個數據,再從k個數據中抽取一定比例的特徵形成一棵樹,每次抽取的資料集都是原始資料集中的一部分,並且特徵也是資料集中的部分特徵(樣本的抽取和特徵的抽取兩部分)

B)對分類問題:採用多數投票發;對迴歸問題,計算上述模型的均值作為最後的結果。(所有模型的重要性相同)

 2、Boosting

其主要思想是將弱分類器組裝成一個強分類器。

1)在每一輪如何改變訓練資料的權值或概率分佈?

通過提高那些在前一輪被弱分類器分錯樣例的權值,減小前一輪分對樣例的權值,來使得分類器對誤分的資料有較好的效果。

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

通過加法模型將弱分類器進行線性組合,比如AdaBoost通過加權多數表決的方式,即增大錯誤率小的分類器的權值,同時減小錯誤率較大的分類器的權值。

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

3、Bagging,Boosting二者之間的區別

1)樣本選擇上:

Bagging:訓練集是在原始集中有放回選取

的,從原始集中選出的各輪訓練集之間是獨立的。

Boosting:每一輪的訓練集不變,只是訓練集中每個樣例在分類器中的權重發生變化。而權值是根據上一輪的分類結果進行調整。

2)樣例權重:

Bagging:使用均勻取樣,每個樣例的權重相等

Boosting:根據錯誤率不斷調整樣例的權值,錯誤率越大則權重越大。

3)預測函式:

Bagging:所有預測函式的權重相等

Boosting:每個弱分類器都有相應的權重,對於分類誤差小的分類器會有更大的權重。

4)平行計算:

Bagging:各個預測函式可以並行生成

Boosting:各個預測函式只能順序生成,因為後一個模型引數需要前一輪模型的結果。

5)不均衡資料集處理

Bagging:需要取樣處理

Boosting:不需要做取樣處理

4、總結

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

下面是將決策樹與這些演算法框架進行結合所得到的新的演算法:

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

2)AdaBoost + 決策樹 = 提升樹

3)Gradient Boosting + 決策樹 = GBDT