機器學習筆記之六 Bagging 簡述

2022-01-15 13:05:00 字數 1404 閱讀 3431

本文結構:

bagging:bootstrap aggregating 的縮寫。

是一種並行式整合學習方法,可用於二分類,多分類,回歸等任務。

基本流程:

對乙個包含 m 個樣本的資料集,有放回地進行 m 次隨機取樣,這樣得到具有 m 個樣本的取樣集。

取 t 個這樣的取樣集。

每個取樣集訓練乙個基學習器。

結合:分類任務,使用簡單投票法。回歸任務,使用簡單平均法。

有放回抽樣的好處

這種有放回抽樣會有 63.2% 的樣本出現在取樣集中,而剩下的 36.8% 樣本可以作為驗證集對模型的泛化效能進行包外估計。

當基學習器是決策樹時,可以用包外樣本來輔助剪枝,

還可以用於估計決策樹中各結點的後驗概率來輔助對零訓練樣本結點的處理。

基學習器是神經網路時,用包外樣本來輔助早期停止來減小過擬合。

bagging 特點

bagging 主要關注降低方差,是要降低過擬合,而不會降低偏差,因此最好不要用高偏差的模型。

在不剪枝決策樹,神經網路等易受樣本擾動的學習器上效用更為明顯。例如當基學習器是決策樹時,bagging 是並行的生成多個決策樹,此時可以不做剪枝,這樣每個都是強學習器,就會有過擬合的問題,但是多個學習器組合在一起,可以降低過擬合。

scikit-learn 中 bagging 使用例子:

1

from sklearn.ensemble import

baggingclassifier

2from sklearn.neighbors import

kneighborsclassifier

3 model=baggingclassifier(kneighborsclassifier(), max_samples=0.5,max_features=0.5)

bagging 和 boosting 的區別樣本選擇:bagging 的訓練集是在原始集中有放回選取的,各輪訓練集之間是獨立的,每個樣例的權重相等;boosting 的訓練集不變,只是每個樣例在分類器中的權重發生變化,錯誤的樣本會得到更大的重視;

bagging 的**函式沒有權重之分;boosting 的**函式是有權重之分,效果好的函式權重大;

bagging 的各個**函式並行產生,容易 map-reduce ,boosting 的**是順序產生,後乙個模型引數需要前一輪模型的結果。

學習資料:

《機器學習》

機器學習篇 bagging

bagging 隨機森林是ensemble整合演算法之一 1 模型 整合演算法,弱分類器或基模型一般為cart樹,可分類可回歸,判別模型 2 策略 bagging演算法對樣本重取樣,分別構造決策樹,並由各決策樹的分類結果進行投票或取平均 隨機森林 rf 與bagging的區別是除了樣本重取樣外還要特...

機器學習筆記之十 整合學習之Bagging

上一節學習了決策樹 最後說到提公升決策樹的效能,整合就是非常強大的解決方案。借助乙個圖,直觀的了解整合學習 bagging是整合個體學習器的一種方式,它的思想十分簡單 a.對原始樣本進行有放回取樣,得到乙個樣本子集,用這個樣本子集去訓練,得到乙個學習器。b.重複以上步驟,得到n個樣本子集,訓練出n個...

機器學習之整合學習(二)Bagging分類演算法實現

儲存決策樹模型的陣列 n trees 20 設定樹的顆數 for i in range n trees tmp df.sample frac 1,replace true 對樣本進行取樣,目的是建造不同的樹 x tmp.iloc 1 構造x y tmp.iloc 1 構造y model decisi...