AI・機械学習

勾配ブースティング(XGBoost・LightGBM) こうばいぶーすてぃんぐ

XGBoostLightGBMアンサンブル学習決定木Kaggle表形式データ
勾配ブースティング(XGBoost・LightGBM)について教えて

簡単に言うとこんな感じ!

「弱い予測モデルを何十本も積み重ねて、失敗を少しずつ修正しながら強くしていく」手法だよ!下手なアーチャーを100人並べて、前の人の外れた分を次の人が補正していくイメージ。表形式データのコンペで最強クラスの精度を誇るんだ!


勾配ブースティングとは

勾配ブースティング(Gradient Boosting) とは、複数の「弱い学習器(決定木)」を順番に学習させ、前のモデルが犯した 残差(予測誤差) を次のモデルが補正することを繰り返す機械学習のアンサンブル手法です。各モデルの予測を足し合わせることで最終的な高精度な予測を得ます。

「ブースティング(Boosting)」はアンサンブル学習の一種で、並列に複数モデルを組み合わせる バギングランダムフォレストなど)と対をなす手法です。決定木を並列ではなく 直列に積み上げる 点が特徴で、「前の木が苦手な部分を次の木が学習する」という連鎖的な改善が強みです。

ビジネス現場で多用される XGBoost(eXtreme Gradient Boosting)と LightGBM(Light Gradient Boosting Machine)は、この勾配ブースティングを高速・省メモリに実装したライブラリです。売上予測・リスクスコアリング・不正検知など 表形式データ(Excelやデータベースのような構造化データ) の案件では、ニューラルネットワークをしのぐ性能を示すことが多く、データ分析コンペ「Kaggle」での常連優勝手法でもあります。


XGBoost vs LightGBM 比較

項目XGBoostLightGBM
開発元DMLC(ワシントン大学)Microsoft
学習速度速いより速い(数倍〜10倍)
メモリ効率良好非常に良好
精度高い同等〜やや上
少量データ安定過学習しやすい場合あり
大規模データ対応特に得意
GPU対応
主な用途バランス重視高速処理・大規模データ

アンサンブル手法の全体像

アンサンブル学習の種類 バギング 複数モデルを並列学習 → 多数決・平均で統合 例:ランダムフォレスト ブースティング 複数モデルを直列学習 → 残差を逐次修正 例:XGBoost・LightGBM 勾配ブースティングの学習フロー 木 1 木 2(残差学習) 木 3(残差学習) 最終予測 各木は前の木の「間違い」を学習して補正する

歴史と背景

  • 1997年 — Yoav Freund・Robert SchapireがAdaBoostを発表。ブースティングの原型
  • 1999年 — Jerome Friedmanが勾配ブースティングの理論を整理・発表
  • 2014年 — Tianqi ChenがXGBoostを開発。速度・正則化機能で爆発的に普及
  • 2016年 — MicrosoftがKDD ConferenceでLightGBMを発表。リーフワイズ分割で高速化
  • 2017年〜 — KaggleコンペでXGBoost・LightGBMが連続優勝し事実上の標準に
  • 2019年CatBoost(Yandex製・カテゴリ変数に強い)が注目を集め3強体制に

主要パラメータと意味

パラメータ意味調整のポイント
n_estimators木の本数多すぎると過学習・遅くなる
learning_rate各木の寄与率小さくして木を増やすと精度↑
max_depth各木の深さ上限浅くすると過学習を防止
subsample学習に使うデータ割合0.8程度でノイズ耐性向上
reg_lambdaL2正則化係数大きくすると汎化性能↑

関連する規格・RFC

規格・RFC番号内容
学術論文ベースの手法のため公式規格なし

関連用語