Bagging 與 Boosting 是什麼

在學習 Random Forest 時,許多文章中都提到了 Bagging 與 Boosting。

另外,在戴士翔老師【Python實作】生活中的資料科學,用模型挑出高C/P智慧型手機一文中也曾出現 XGBoosting。

究竟這些 Bagging, Boosting, XGBoosting 是什麼呢?

Bagging, Boosting 是兩種不同的集成方法。

而集成方法是將不同的分類器集合,並進行綜合預測的方法。

Random Forest 就是一種常見的 Bagging 方法; GBM, XGBoosting, LightGBM, CatBoost 則是 Boosting 方法。

Bagging(裝袋法)

將資料丟進袋子中,以取後放回的方式進行抽取。最後將各分類器的結果進行多數決。

以 Random Forest 為例,每棵決策樹都是一次取後放回的結果;最後將每棵樹的結果在進行一次多數決。

Boosting(提升法)

Y1 = f(x) + h(x) = (前幾個調過權重的分類器 f(x)) + (用f(x)產生的一個新分類器h(x))

Y2 = Y1 + u(x) = (f(x) + h(x)) + u(x) = (前幾個調過權重的分類器(f(x) + h(x))) + (用 Y1 產生的一個新分類器u(x))

依上面方法不斷重複進行,並不斷地做線性加總,最後就會得到一個 MSE 較小的預測結果。

Back To Top