ブースティングとは

ぶーすてぃんぐboosting

1行定義

ブースティングとは、前のモデルが苦手としたデータを次のモデルが重点的に学ぶように、弱学習器を1つずつ追加して組み合わせるアンサンブル学習の手法のことです。

くわしく

ブースティングは、アンサンブル学習の代表的な手法の1つです。単独では精度の低い単純なモデル(弱学習器)を順番に追加し、前のモデルの弱点を次のモデルが補うことで、全体として高い精度を目指します。

生まれた背景

「当てずっぽうより少し良いだけの学習器を組み合わせて、精度の高い学習器を作れるか」という理論上の問いがありました。1990年にロバート・シャピアがこれを肯定的に示し、ブースティングの考え方が生まれました。その後、フロイントとシャピアが、実用的な手法としてAdaBoostを提案しました。

仕組み(AdaBoostの場合)

  1. すべての学習データに同じ重みを付けて、1つ目の弱学習器を学習させます。
  2. 誤って予測したデータの重みを大きくし、正しく予測したデータの重みを小さくします。
  3. 重みを付け直したデータで、次の弱学習器を学習させます。前のモデルが苦手だったデータを重点的に学ぶことになります。
  4. これを繰り返し、最後は精度の高い弱学習器ほど大きな重みをもつ、重み付きの多数決で予測します。

勾配ブースティングでは、データの重みを変える代わりに、それまでの予測の誤差を減らす方向(損失関数の負の勾配)を、次の決定木に学習させます。XGBoostやLightGBMはこの方式を高速化した実装で、表形式のデータの予測でよく使われます。

バギングとの違い

バギングは、各モデルを独立に並列で学習し、主に予測のばらつき(バリアンス)を減らします。ブースティングは、前の結果を受けて順番に学習するため並列化しにくく、主にモデルの単純さによる誤差(バイアス)を減らします。

前の誤りに合わせ続けるため、ノイズの多いデータでは過学習しやすい点に注意が必要です。学習率や弱学習器の数を、検証データの性能を見ながら調整します。

G検定での出題

モデルを逐次的に学習して前の誤りを補う仕組み、並列に学習するバギングとの違い、主にバイアスを減らす効果、AdaBoostや勾配ブースティングとの関係、過学習への注意が問われます。

混同しやすい用語

用語意味
バギング復元抽出で作った複数の学習データでモデルを別々に学習させ、その予測を多数決や平均でまとめるアンサンブル学習の手法

違いを表で比べる:バギングとブースティング

◯×チェック

  1. AdaBoostでは、最終的な予測をまとめるとき、すべての弱学習器の票を同じ重みで数える。

    答えを見る

    答え × 誤り

    誤り率の低かった弱学習器ほど大きな重みを与え、重み付きの多数決で予測します。精度の高いモデルの判断ほど重視する仕組みです。

  2. ブースティングの弱学習器には、深さが1〜数段程度の浅い決定木のように、単独では精度が高くない単純なモデルがよく使われる。

    答えを見る

    答え ◯ 正しい

    1つ1つは当てずっぽうよりわずかに良い程度でも、互いの誤りを補うように多数組み合わせることで、高い精度に到達できます。

  3. ブースティングは、主にモデルが単純すぎることによる誤差(バイアス)を減らす働きをする。

    答えを見る

    答え ◯ 正しい

    単純な弱学習器を積み重ね、表現力の足りない部分を少しずつ補います。主にバリアンスを減らすバギングと対比して覚えます。

練習問題

ブースティングの問題(3問)
  1. バギングとブースティング
  2. 勾配ブースティングの予測値の更新
  3. アンサンブルとバイアス・バリアンス

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術7

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習