1行定義
ブースティングとは、前のモデルが苦手としたデータを次のモデルが重点的に学ぶように、弱学習器を1つずつ追加して組み合わせるアンサンブル学習の手法のことです。
くわしく
ブースティングは、アンサンブル学習の代表的な手法の1つです。単独では精度の低い単純なモデル(弱学習器)を順番に追加し、前のモデルの弱点を次のモデルが補うことで、全体として高い精度を目指します。
生まれた背景
「当てずっぽうより少し良いだけの学習器を組み合わせて、精度の高い学習器を作れるか」という理論上の問いがありました。1990年にロバート・シャピアがこれを肯定的に示し、ブースティングの考え方が生まれました。その後、フロイントとシャピアが、実用的な手法としてAdaBoostを提案しました。
仕組み(AdaBoostの場合)
- すべての学習データに同じ重みを付けて、1つ目の弱学習器を学習させます。
- 誤って予測したデータの重みを大きくし、正しく予測したデータの重みを小さくします。
- 重みを付け直したデータで、次の弱学習器を学習させます。前のモデルが苦手だったデータを重点的に学ぶことになります。
- これを繰り返し、最後は精度の高い弱学習器ほど大きな重みをもつ、重み付きの多数決で予測します。
勾配ブースティングでは、データの重みを変える代わりに、それまでの予測の誤差を減らす方向(損失関数の負の勾配)を、次の決定木に学習させます。XGBoostやLightGBMはこの方式を高速化した実装で、表形式のデータの予測でよく使われます。
バギングとの違い
バギングは、各モデルを独立に並列で学習し、主に予測のばらつき(バリアンス)を減らします。ブースティングは、前の結果を受けて順番に学習するため並列化しにくく、主にモデルの単純さによる誤差(バイアス)を減らします。
前の誤りに合わせ続けるため、ノイズの多いデータでは過学習しやすい点に注意が必要です。学習率や弱学習器の数を、検証データの性能を見ながら調整します。
G検定での出題
出題のされ方
モデルを逐次的に学習して前の誤りを補う仕組み、並列に学習するバギングとの違い、主にバイアスを減らす効果、AdaBoostや勾配ブースティングとの関係、過学習への注意が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| ブースティングこのページの用語 | 前のモデルが苦手としたデータを次のモデルが重点的に学ぶように、弱学習器を1つずつ追加して組み合わせるアンサンブル学習の手法 |
| バギング | 復元抽出で作った複数の学習データでモデルを別々に学習させ、その予測を多数決や平均でまとめるアンサンブル学習の手法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
AdaBoostでは、最終的な予測をまとめるとき、すべての弱学習器の票を同じ重みで数える。
答えを見る
答え × 誤り
誤り率の低かった弱学習器ほど大きな重みを与え、重み付きの多数決で予測します。精度の高いモデルの判断ほど重視する仕組みです。
-
ブースティングの弱学習器には、深さが1〜数段程度の浅い決定木のように、単独では精度が高くない単純なモデルがよく使われる。
答えを見る
答え ◯ 正しい
1つ1つは当てずっぽうよりわずかに良い程度でも、互いの誤りを補うように多数組み合わせることで、高い精度に到達できます。
-
ブースティングは、主にモデルが単純すぎることによる誤差(バイアス)を減らす働きをする。
答えを見る
答え ◯ 正しい
単純な弱学習器を積み重ね、表現力の足りない部分を少しずつ補います。主にバリアンスを減らすバギングと対比して覚えます。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目7 教師あり学習)
- Robert E. Schapire, The Strength of Weak Learnability, Machine Learning 5(2), 197–227 (1990)
- Yoav Freund, Robert E. Schapire, A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting, Journal of Computer and System Sciences 55(1), 119–139 (1997)
- Jerome H. Friedman, Greedy Function Approximation: A Gradient Boosting Machine, The Annals of Statistics 29(5), 1189–1232 (2001)