集成學習 是什麼?
Ensemble Learning — 集成學習 的完整解釋
集成學習透過結合多個弱學習器,建立一個強學習器,以提高模型的準確性和泛化能力,常見方法包括Bagging、Boosting和Stacking。
容易混淆
集成學習 vs 單一模型 單一模型靠自己做全部判斷,集成學習則是讓多個模型一起出手。
Bagging vs Boosting Bagging 是平行訓練再投票,Boosting 是依序修正前一輪錯誤。
Bagging vs Stacking Bagging 直接投票或平均,Stacking 會再訓練一個元學習器來整合各模型輸出。
最關鍵的區別: 先看模型是「一起投票」、還是「一輪一輪改錯」、或是「再交給第二層模型統整」。
記住這句就好
多個模型一起想,通常比單打獨鬥穩。
實際案例
案例一:垃圾郵件過濾 一個模型可能會被某些新型垃圾信騙過,但把文字分類器、規則模型和樹模型一起合併,誤判率通常會下降。
案例二:信用風險評估 銀行做風險分數時,常會把多種模型結果一起考慮,因為不同模型對不同特徵的敏感度不一樣。
算法與應用
集成學習常見三條路線。Bagging 透過重抽樣和投票降低方差,Random Forest 就是很典型的例子。Boosting 透過連續修正錯誤提高準確率,但也更容易把資料學太死。Stacking 會把多個模型的輸出再交給第二層模型學習,適合想把不同模型特性一起吃進來的場景。
情境判斷
Q1(直覺題): 你有三個分類器,最後用多數決決定答案,這算不算集成學習?
→ 算,因為集成學習最基本的精神就是把多個模型的結果整合在一起。
Q2(判斷題): 你的單一模型已經很強了,還要不要硬做集成?
→ 看情況。若資料量不大、延遲要求高,集成可能太重;若你最在意穩定度和泛化,集成常常值得。重點是成本和收益要一起看。
相關術語
常見問題
Bagging 和 Boosting 有什麼區別?
Bagging 是把多個模型平行訓練後做平均或投票,Boosting 則是依序訓練,每一輪都試著修正前一輪的錯誤。
什麼是元學習器?在 Stacking 中扮演什麼角色?
元學習器是第二層模型,專門學怎麼整合第一層模型的輸出,讓整體預測更準。
如何避免集成學習中的過擬合?
可以控制基模型複雜度、限制樹深、增加交叉驗證,或避免把太多高度相似的模型硬塞在一起。