什麼是 自助聚合(Bagging)?
Bagging (Bootstrap Aggregating) 是一種集成學習技術,透過對原始資料集進行多次有放回的抽樣,訓練多個模型,並將它們的預測結果進行平均或投票。
核心概念
Bagging 的核心概念是利用自助抽樣(Bootstrap Sampling)和聚合(Aggregating)來降低模型的方差,提高模型的泛化能力。自助抽樣是指從原始資料集中有放回地抽取樣本,形成多個與原始資料集大小相同的訓練集。由於是有放回的抽樣,每個訓練集中可能包含重複的樣本,也可能缺少原始資料集中的某些樣本。聚合是指將多個模型的預測結果進行合併,得到最終的預測結果。對於回歸問題,通常採用平均法;對於分類問題,通常採用投票法。
運作原理
Bagging 的運作原理可以概括為以下幾個步驟:
- 自助抽樣(Bootstrap Sampling): 從原始資料集中有放回地抽取 N 個樣本,形成一個新的訓練集。重複此步驟 B 次,得到 B 個不同的訓練集。
- 模型訓練: 在每個訓練集上訓練一個基學習器(Base Learner)。基學習器可以是任何機器學習模型,例如決策樹、線性回歸、支持向量機等。通常選擇方差較高的模型作為基學習器,例如決策樹。
- 預測: 對於一個新的輸入樣本,使用每個基學習器進行預測,得到 B 個預測結果。
- 聚合: 將 B 個預測結果進行聚合,得到最終的預測結果。對於回歸問題,通常採用平均法,即將 B 個預測結果的平均值作為最終的預測結果。對於分類問題,通常採用投票法,即將 B 個預測結果中出現次數最多的類別作為最終的預測結果。
實際應用
Bagging 是一種通用的集成學習方法,可以應用於各種機器學習任務中,例如:
- 分類: 使用 Bagging 可以提高分類模型的準確性,例如,Random Forest 就是一種基於 Bagging 的分類算法。
- 回歸: 使用 Bagging 可以提高回歸模型的穩定性,例如,Bagging 回歸器可以降低模型的方差。
- 異常偵測: Bagging 可以用於異常偵測,例如,通過比較每個樣本在不同模型中的預測結果的差異,可以識別出異常樣本。
Bagging 在實際應用中有很多成功的案例,例如:
- 金融風險評估: 使用 Bagging 可以提高信用評分模型的準確性,降低金融風險。
- 醫療診斷: 使用 Bagging 可以提高疾病診斷模型的準確性,輔助醫生進行診斷。
- 網路安全: 使用 Bagging 可以提高入侵檢測系統的準確性,保護網路安全。
常見誤區
- Bagging 與 Boosting 的區別: Bagging 和 Boosting 都是集成學習方法,但它們的原理和應用場景不同。Bagging 是通過對原始資料集進行多次有放回的抽樣,訓練多個獨立的模型,並將它們的預測結果進行平均或投票。Boosting 則是通過迭代的方式,訓練一系列的模型,每個模型都試圖糾正前一個模型的錯誤。Bagging 旨在降低模型的方差,Boosting 旨在降低模型的偏差。
- 基學習器的選擇: Bagging 對基學習器的選擇沒有嚴格的要求,但通常選擇方差較高的模型作為基學習器,例如決策樹。如果基學習器的方差較低,則 Bagging 的效果可能不明顯。
- 訓練集的數量: Bagging 中訓練集的數量 B 是一個重要的超參數。B 的值越大,模型的穩定性越高,但計算成本也越高。通常需要通過交叉驗證等方法來選擇合適的 B 值。
- 過擬合: 雖然 Bagging 可以降低模型的方差,但如果基學習器過於複雜,或者訓練集的數量太少,仍然可能導致過擬合。需要通過正則化等方法來防止過擬合。
相關術語
常見問題
延伸學習
想看 自助聚合 的完整影片教學?前往 美第奇 AI 學院