【こうばいぶーすてぃんぐ】

勾配ブースティング とは?

💡 弱い学習器が「前の失敗」を補い合って強くなる手法
📌 このページのポイント
勾配ブースティングの仕組み 弱学習器1 予測 残差1 弱学習器2 残差を学習 残差2 弱学習器3 残差を学習 + + 最終予測 全学習器の合計 前の学習器の誤差(残差)を次の学習器が補正し、精度を段階的に改善する
残差を順番に学習して精度を高めるブースティングの流れ
ひよこ ひよこ

勾配ブースティングってどういうしくみなの?

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

まず1つ目の簡単なモデルで予測して、その予測誤差を計算する。次に2つ目のモデルで「その誤差」を予測する。さらに3つ目のモデルで「残った誤差」を予測する…という繰り返しなんだ。100人でリレーしてバトンを渡すように、前の人の失敗を次の人がカバーしていくイメージだよ。

ひよこ ひよこ

「勾配」って何のこと?

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

損失関数(予測と正解のズレを表す関数)の勾配(微分)を使って、次のモデルが修正すべき方向を決めるんだ。坂道を下るように、一番誤差が小さくなる方向にちょっとずつ進んでいく。この「勾配を使って最適化する」という考え方は、ディープラーニングの学習にも共通するものだよ。

ひよこ ひよこ

なんでそんなに強いの?

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

表形式のデータ(Excelのようなデータ)に関しては、Kaggleのコンペで圧倒的な勝率を誇っているんだ。特徴量エンジニアリング(データの加工)をしっかりやって勾配ブースティングを使えば、たいていのタスクで上位に入れると言われているよ。

ひよこ ひよこ

勾配ブースティングにも弱点はある?

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

過学習しやすいというのが最大の弱点なんだ。モデルを次々と追加していくと、学習データには完璧にフィットするけど新しいデータでは精度が出ない、ということが起きる。学習率・木の深さ・モデルの数など調整すべきハイパーパラメータが多くて、チューニングに経験が必要なんだ。さらに厄介なのが「特徴量のリーケージ」という問題で、学習データに本来使ってはいけない情報(未来の情報など)が紛れ込んでいると、学習時は完璧な精度が出るのに実運用では全然使えない。勾配ブースティングは表現力が高い分、こういうデータの問題を隠蔽してしまうことがあって、経験豊富なデータサイエンティストでも見落とすことがあるんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「勾配ブースティング」って出てきたら「弱いモデルを順番に足して前の失敗を修正していく強力な学習手法のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Gradient Boosting」 = 勾配による強化
💬 Gradientは「勾配(傾き)」、Boostingは「強化・後押し」。勾配(微分)を使って予測を少しずつ強化していく手法だよ
← 用語集にもどる