ブースティング

Boosting

ブースティング(Boosting)とは、複数の弱学習器を逐次的に構築し、前のモデルが間違えたデータに重点を置いて次のモデルを学習させることで、全体の予測精度を向上させるアンサンブル手法です。

ブースティングの考え方

各ラウンドで、前のモデルが誤分類したデータの重みを増やし、次のモデルがそれらを正しく分類するように学習します。多くのラウンドを経ることで、弱学習器の集合が強学習器に変わっていきます。

表:ブースティングの要点まとめ
ひとことで言うと前のモデルが間違えたデータを重点的に学習させ、順番に補強していく手法。
何がうれしいか表形式データでは最高水準の精度が出やすい。実務で最もよく使われる。
注意点順番に作るので並列化しにくく、過学習もしやすい。

代表的なアルゴリズム

AdaBoost(Adaptive Boosting)は最も古典的なブースティング手法で、誤分類されたサンプルの重みを増やしていきます。勾配ブースティング(Gradient Boosting)は残差を直接学習する手法で、XGBoost、LightGBM、CatBoostなどが代表的な実装です。

図:ブースティングのしくみ
11つ目のモデルまず普通に学習
▶
2間違いを特定外したデータに注目
▶
32つ目が補強苦手部分を重点学習
▶
4順に積み重ねる弱点を埋めていく
▶
5全部を合算強力な予測器に
↺ 2〜4を数百回くり返す

バギングとの違い

バギングが並列にモデルを構築するのに対し、ブースティングは逐次的に構築します。バギングは主にバリアンスを削減し、ブースティングは主にバイアスを削減します。