ブースティングとは

ブースティングとは、少しだけ当たる弱いモデルを順番にたくさん作り、前のモデルが間違えた部分を次のモデルが重点的に直していくことで、全体として精度の高い予測モデルに育てる機械学習の手法です。一人ひとりは頼りない予測者でも、互いの間違いを補い合わせれば強くなるという発想になります。

英語表記:Boosting

「前の失敗に集中する」を繰り返して強くする

仕組みの核は逐次(順番に)作ることです。まず弱いモデルを1つ作り、それが外したデータに大きな重みを付けます。次のモデルはその重い部分を集中的に学び、また外したところを次へ引き継ぐ。これを何度も繰り返し、できあがった弱いモデルたちの重み付き合計を最終的な答えにします。苦手な問題を毎回ピンポイントで補習していくイメージと考えると分かりやすいでしょう。

ランダムフォレストとは「向き」が逆

同じ決定木の集まりでも、ランダムフォレスト木を独立に並列で作って平均します。ブースティングは前の木の誤りを見てから次の木を作るため、作り方の向きが正反対です。並列型は予測のばらつきを抑え、逐次型は当てにくい部分を詰めて精度を上げる。狙いどころが違うと整理しておくと混同しません。

表データ予測の主力。ただし調整の手間はある

顧客や売上などの表形式データの予測で、XGBoost(2014年公開)やLightGBM、CatBoostといった勾配ブースティングの実装が広く使われています。高い精度が出やすい一方、逐次に重ねる性質上、回数を増やしすぎると学習データに合わせ込みすぎる(過学習)。どこまで重ねるかの見極めが精度を左右するため、運用では検証データでの確認が欠かせません。理論は1990年代に確立した古典で、ChatGPTの一般公開(2022年11月30日)よりずっと前から実務で鍛えられてきました。

Topicもとは「弱い学習器を集めて強くできるか?」という理論パズルだった

ブースティングの出発点は、1988〜1990年に研究者が立てた「ほんの少しだけ当たるモデルを束ねれば、高精度のモデルを作れるか」という理論的な問いでした。これを「作れる」と証明した流れから生まれた代表手法AdaBoostは、計算理論の権威ある「ゴーデル賞」を受賞しています。机上のパズルが、いまや表データ予測の定番に化けたという来歴です。

ブースティングに関するよくある質問

XGBoostやLightGBMはブースティングと同じものですか?
これらはブースティング(特に勾配ブースティング)を高速・高精度に実装した代表的なライブラリです。考え方はブースティングそのもので、実務ではこの名前で呼ばれることが多くあります。
ブースティングは過学習しやすいと聞きました。本当ですか?
弱いモデルを重ねるほど学習データに合わせ込みやすく、回数を増やしすぎると新しいデータで外れやすくなります。検証データで止めどきを見極める運用が前提になります。
ニューラルネットワークやディープラーニングとは違うのですか?
別系統です。ブースティングは決定木などの簡単なモデルを束ねる古典的な手法で、画像や文章より表形式データの予測を得意とします。

あわせて読みたい記事