【えっくすじーぶーすと】

XGBoost(エックスジーブースト) とは?

💡 データ分析コンペを席巻した「最強の勾配ブースティング」
📌 このページのポイント
XGBoost — 勾配ブースティング 木1(弱い) 精度: 60% 誤差を計算 + 木2(補正) 木1の誤差を学習 精度: 75% + 木3(補正) 木2の誤差を学習 精度: 85% + … 最終モデル 全木の合計 精度: 95% 前の木の「間違い」を次の木が重点的に学習する 正則化 過学習を防止 L1/L2正則化 並列処理 高速な学習 大規模データ対応 欠損値処理 自動で最適分岐 前処理が楽
XGBoostのイメージ
ひよこ ひよこ

XGBoostって普通の勾配ブースティングと何が違うの?

ペンギン先生 ペンギン先生

基本的な考え方は同じだけど、XGBoostは実行速度と精度の両方を徹底的に最適化しているんだ。並列処理で高速化したり、正則化を組み込んで過学習を防いだり、欠損値があっても自動で処理してくれたりと、実務で使いやすい工夫がたくさん詰まっているよ。

ひよこ ひよこ

Kaggleで有名になったって聞いたけど?

ペンギン先生 ペンギン先生

2015年頃からKaggleのコンペで上位解法のほとんどがXGBoostを使うようになって一気に広まったんだ。「迷ったらとりあえずXGBoost」と言われるほどで、特に表形式のデータではディープラーニングよりも良い結果を出すことが多いよ。

ひよこ ひよこ

LightGBMとどっちがいいの?

ペンギン先生 ペンギン先生

LightGBMはMicrosoftが開発した後発のライブラリで、大規模データでの学習速度がXGBoostより速いんだ。精度はほぼ同等。最近はLightGBMを使う人の方が多いかもしれないけど、XGBoostも改良が続いていて、GPU対応も強化されているよ。用途によって使い分けるのが現実的だね。

ひよこ ひよこ

XGBoostの限界ってある?

ペンギン先生 ペンギン先生

画像や自然言語のような非構造化データには向いていないのが大きな制約だね。そういうデータはディープラーニングの方が圧倒的に強い。あと、XGBoostのモデルは「なぜその予測をしたか」の解釈が難しいという問題がある。数百本の決定木が組み合わさっているから、人間が全体を把握するのは不可能に近い。SHAPという手法で各特徴量の貢献度を可視化できるようになったけど、それでも「このデータがこの値だからこう予測した」という因果関係の説明は本質的にできない。医療や金融のような「予測の根拠を説明する義務がある」分野では、精度が高くても採用できないジレンマがあるんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「XGBoost」って出てきたら「勾配ブースティングを高速・高精度にした超有名な機械学習ライブラリのことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「XGBoost(eXtreme Gradient Boosting)」 = 極限の勾配ブースティング
💬 eXtremeは「極限の」、Gradient Boostingは「勾配ブースティング」。極限まで性能を追求した勾配ブースティングということだよ
← 用語集にもどる