1 Bagging(Bootstrap aggregating)
1.1 步驟
- 用抽樣的方式從原始樣本中進行有放回的多次抽樣(或者是抽特征)。抽取 k 次每次抽取 n 個樣本,這樣就生成了 k 個樣本容量為 n 的數(shù)據(jù)集
- 每次使用一個數(shù)據(jù)集訓(xùn)練得到一個模型,這樣 k 個數(shù)據(jù)集就可以得到 k 個模型
- 統(tǒng)計所有模型的計算結(jié)果,通過取平均值、取多數(shù)票等方法得到最終結(jié)果
1.2 特點
- 通過降低基分類器的方差(variance)從而減少錯誤
- 性能依賴于基分類器的穩(wěn)定性。若基分類器不穩(wěn)定,其有助于降低訓(xùn)練數(shù)據(jù)的隨機波動導(dǎo)致的誤差;若穩(wěn)定,則集成分類器的誤差主要由基分類器的偏倚引起
- 由于每個樣本被選中的概率相同,因此并不側(cè)重于訓(xùn)練數(shù)據(jù)集中的任何特定實例
2 Boosting
2.1 步驟
- 所有分布下的基礎(chǔ)學(xué)習(xí)器對于每個觀測值都應(yīng)該有相同的權(quán)重
- 如果第一個基礎(chǔ)的學(xué)習(xí)算法預(yù)測錯誤,則該點在下一次的基礎(chǔ)學(xué)習(xí)算法中有更高的權(quán)重
- 迭代,直到到達預(yù)定的學(xué)習(xí)器數(shù)量或預(yù)定的預(yù)測精度
- 將輸出的多個弱學(xué)習(xí)器組合成一個強的學(xué)習(xí)器
2.2 特點
- 通過降低基分類器的偏差(bias)從而減少錯誤
3 Bagging 和 Boosting 區(qū)別
| Bagging | Boosting | |
|---|---|---|
| 訓(xùn)練集 | 每個訓(xùn)練集都是從原始訓(xùn)練集中有放回的選取出來的,每個訓(xùn)練集各不相同且相互獨立 | 每一輪的訓(xùn)練集都是原始選練集 |
| 樣本權(quán)重 | 使用 Bootstrap 方法均勻抽樣 | 根據(jù)每一輪的訓(xùn)練不斷調(diào)整權(quán)值,分類錯誤的樣本擁有更高的權(quán)值 |
| 弱分類器權(quán)重 | 所有弱分類器權(quán)重相同 | 每個弱分類器都有相應(yīng)的權(quán)重,對于分類誤差小的分類器會有更大的權(quán)重 |
| 計算方式 | 各個預(yù)測函數(shù)可以并行生成 | 各個預(yù)測函數(shù)只能順序生成,因為下一個模型的產(chǎn)生依賴于之前模型的計算結(jié)果 |
| 特點 | 通過降低基分類器的方差從而減少錯誤 | 通過降低基分類器的偏差從而減少錯誤 |
| 應(yīng)用 | 適用于容易過擬合的分類器 | 適用于容易欠擬合的分類器 |
4 Stacking
4.1 步驟
- 基于原始訓(xùn)練集訓(xùn)練模型,該種模型稱為基模型
- 以基模型在原始訓(xùn)練集上的預(yù)測為訓(xùn)練集訓(xùn)練模型,該種模型稱為元模型
- 基模型和元模型均不止一個,合并元模型的輸出

Reference
https://baike.baidu.com/item/bagging/15454674?fr=aladdin
https://baike.baidu.com/item/Boosting/1403912?fr=aladdin
https://blog.csdn.net/qq_31267769/article/details/108311743
https://blog.csdn.net/DUDUDUTU/article/details/125279783
https://zhuanlan.zhihu.com/p/260959204