ブースティング(Boosting)とは、複数の弱学習器を逐次的に構築し、前のモデルが間違えたデータに重点を置いて次のモデルを学習させることで、全体の予測精度を向上させるアンサンブル手法です。
ブースティングの考え方
各ラウンドで、前のモデルが誤分類したデータの重みを増やし、次のモデルがそれらを正しく分類するように学習します。多くのラウンドを経ることで、弱学習器の集合が強学習器に変わっていきます。
| ひとことで言うと | 前のモデルが間違えたデータを重点的に学習させ、順番に補強していく手法。 |
|---|---|
| 何がうれしいか | 表形式データでは最高水準の精度が出やすい。実務で最もよく使われる。 |
| 注意点 | 順番に作るので並列化しにくく、過学習もしやすい。 |
代表的なアルゴリズム
AdaBoost(Adaptive Boosting)は最も古典的なブースティング手法で、誤分類されたサンプルの重みを増やしていきます。勾配ブースティング(Gradient Boosting)は残差を直接学習する手法で、XGBoost、LightGBM、CatBoostなどが代表的な実装です。
11つ目のモデルまず普通に学習
▶
2間違いを特定外したデータに注目
▶
32つ目が補強苦手部分を重点学習
▶
4順に積み重ねる弱点を埋めていく
▶
5全部を合算強力な予測器に
↺ 2〜4を数百回くり返す
バギングとの違い
バギングが並列にモデルを構築するのに対し、ブースティングは逐次的に構築します。バギングは主にバリアンスを削減し、ブースティングは主にバイアスを削減します。