ブースティング ぶーすてぃんぐ
ブースティングAdaBoost弱学習器アンサンブル学習バイアス低減
ブースティングについて教えて
簡単に言うとこんな感じ!
「前のモデルが間違えたデータに次のモデルが重点的に取り組む」という直列型のアンサンブル手法だよ。弱いモデルを積み重ねて最終的に強いモデルを作る考え方。AdaBoostが発祥で、勾配ブースティング・XGBoostへと進化してきたんだ!
ブースティングとは
ブースティング(Boosting)は、複数の弱学習器(Weak Learner)を逐次的に学習させ、前のモデルの誤りを修正しながら強力なモデルを構築するアンサンブル手法です。
バギングが「独立したモデルの並列学習」なのに対し、ブースティングは「前の結果に依存した直列学習」です。
主要なブースティング手法
| 手法 | 発表年 | 特徴 |
|---|---|---|
| AdaBoost | 1995 | 誤分類データの重みを増やす |
| Gradient Boosting | 1999 | 勾配(残差)を最小化する木を追加 |
| XGBoost | 2014 | 正則化・並列化を加えた高速実装 |
| LightGBM | 2017 | Leaf-wise成長による超高速化 |
| CatBoost | 2017 | カテゴリ変数対応を強化 |
AdaBoostの仕組み
1. 全データを等しい重みで初期化(重み = 1/n)
2. 弱学習器(浅い決定木)を学習
3. 誤分類したデータの重みを増やす
(次の学習器はこのデータに集中させる)
4. 学習器の性能に基づいて重みを計算
5. 指定回数繰り返す
最終予測:各学習器の予測を重み付き多数決
バギングとの違い
| 比較項目 | バギング | ブースティング |
|---|---|---|
| 学習の順序 | 並列(独立) | 直列(依存) |
| 目的 | 分散低減 | バイアス低減 |
| 過学習リスク | 低い | やや高い(調整が必要) |
| データの扱い | 同等 | 誤分類を重視 |
歴史と背景
- 1990年:Schapireが「弱学習器を強学習器にブーストできる」という理論を証明
- 1995年:Freund & SchapireがAdaBoostを発表。ブースティングの実用化
- 1999年:FriedmanがGradient Boostingを提案
- 現在:勾配ブースティングがKaggleをはじめ多くの実務タスクで最高性能
関連用語
- アンサンブル学習 — ブースティングが属するカテゴリ
- バギング — 対照的な並列アンサンブル手法
- 勾配ブースティング — ブースティングの現代的実装
- XGBoost — ブースティングの代表的ライブラリ
- バイアスとバリアンスのトレードオフ — ブースティングが改善する問題