自助聚合 是什麼?

Bagging:自助聚合 的完整解釋

Bagging (Bootstrap Aggregating) 是一種集成學習技術,透過對原始資料集進行多次有放回的抽樣,訓練多個模型,並將它們的預測結果進行平均或投票。

容易混淆

自助聚合 vs Boosting? 自助聚合:多模型並行訓練後投票或平均 Boosting:模型一個接一個接力修正錯誤 最關鍵的區別:Bagging 強調平行平均,Boosting 強調串接修正

自助聚合 vs 正則化? 自助聚合:偏向降方差 正則化:偏向限制模型複雜度 最關鍵的區別:Bagging 是集成方法,正則化是控制單模型

自助聚合 vs 隨機森林? 自助聚合:常搭配決策樹 隨機森林:在 Bagging 基礎上再加入特徵隨機抽取 最關鍵的區別:隨機森林可以視為 Bagging 的強化版

記住這句就好

很多個不太一樣的答案一起投票,通常更穩

實際案例

風險分類 每個子模型看不同抽樣資料,最後投票決定是否高風險,減少單一模型的偶然失誤

醫療判讀 多個模型對影像給出分數後再平均,結果常比只靠一個模型穩定

算法與應用

重點 你要看什麼 為什麼重要
抽樣 bootstrap 自助抽樣 每個模型看到的資料不完全一樣
組合 投票或平均 把高波動結果拉穩
效果 主要降方差 對容易過擬合的模型很有幫助

名字的由來與運作步驟

Bagging 是 Bootstrap Aggregating 的縮寫,中文譯作自助聚合或裝袋法。名字已經把做法講完了:先 bootstrap,再 aggregate。

第一步,Bootstrap(自助抽樣)。 從原始訓練集裡「有放回」地隨機抽出同樣數量的樣本,組成一份新的訓練集。因為是有放回,同一筆資料可能被抽中好幾次,也可能一次都沒被抽到。

第二步,各自訓練。 每一份抽樣資料訓練一個獨立的模型。這些模型彼此不影響,所以可以完全平行。

第三步,Aggregate(聚合)。 分類任務用多數決投票,回歸任務取平均。

為什麼有效,以及 OOB 這個免費的驗證集

有效的原因是降低變異數。單一棵深樹很容易過擬合,換一批資料訓練結果就大幅變動。但如果訓練很多棵、每棵看的資料都不太一樣,它們的錯誤方向會互相抵消,平均之後就穩定得多。

前提是這些模型要夠不一樣。如果每棵樹都長得差不多,平均起來沒有任何好處。隨機森林在 bagging 之上多做一件事就是為了這個:每次分裂只從隨機挑出的部分特徵裡選,強迫每棵樹走不同的路。

袋外估計(Out-of-Bag,OOB) 是 bagging 附帶的好處。有放回抽樣時,每一份訓練集平均只會涵蓋約 63.2% 的原始樣本,剩下約 36.8% 沒被抽到,這些就叫袋外樣本。

每一筆資料都可以拿沒看過它的那些樹來預測,統計起來就得到一個不需要另外切驗證集的效能估計。資料量不大時這特別有用,等於免費多出一份驗證資料。

那個 63.2% 不是經驗值,是算出來的:n 筆資料抽 n 次,某一筆一直沒被抽到的機率是 (1 − 1/n)ⁿ,n 夠大時趨近 1/e ≈ 0.368。

情境判斷

Q1:如果你的單一決策樹常常忽上忽下,Bagging 有沒有可能幫忙? → 有,因為它常用來降低高方差模型的不穩定性

Q2:如果模型本身已經很穩,而且偏差很高,Bagging 還是首選嗎? → 不一定,因為它主要降方差,對高偏差問題幫助有限

相關術語

常見問題

Bagging 一定要很多模型嗎?

通常模型越多越穩,但也要看成本與邊際效益。

Bagging 和 Random Forest 差在哪?

Random Forest 在 Bagging 之外還加入特徵隨機性,讓樹與樹之間差異更大。

Bagging 會讓模型變慢嗎?

訓練和推論都可能變重,但常能換到更穩的表現。