ブースティング - AdaBoost・XGBoost・LightGBM

ブースティングの仕組みをAdaBoost・勾配ブースティング・XGBoost・LightGBMの流れで整理。バギングとの違いも押さえます。

『ブースティング』はKaggleコンペで猛威を振るう強力な手法。XGBoost・LightGBMはDL以外で最強と言われることも。G検定でも頻出です。

雷門 あかり(普段) 雷門 あかり

ブースティングとバギングの違いって?

六角 いずみ 先生(笑顔) 六角 いずみ 先生

バギングが並列、ブースティングは逐次的。
前のモデルの失敗を次のモデルで補う方式で、弱学習器を順番に強化していくの。

白銀 エマ(普段) 白銀 エマ

原点は1990年代のAdaBoost(Adaptive Boosting)。
誤分類したサンプルに重みを付けて、次の学習器がそれを重点的に学ぶ仕組みよ。
フロイドとシャピアが開発したわ。

紫藤 ゆら(笑顔) 紫藤 ゆら

間違えた問題を重点的にやり直す、みたいな感じですかぁ?

六角 いずみ 先生(普段) 六角 いずみ 先生

まさにそう。
ブースティングは『弱い学習器』を組み合わせて『強い学習器』を作る手法。
理論的には弱学習器があれば任意精度に到達できるのよ。

白銀 エマ(普段) 白銀 エマ

2001年に勾配ブースティング(Gradient Boosting) が登場。
AdaBoostを一般化し、任意の損失関数に対応できるようになったわ。
フリードマンが提案ね。

雷門 あかり(普段) 雷門 あかり

そこから進化して、XGBoostが出てきたんだ?

六角 いずみ 先生(笑顔) 六角 いずみ 先生

そう、XGBoost(eXtreme Gradient Boosting) は2014年に陳天奇が開発したライブラリ。
正則化・並列化・欠損値処理などを洗練させて、Kaggleコンペで連勝を飾ったわ。

白銀 エマ(普段) 白銀 エマ

後発のLightGBM(Microsoft、2016) は、葉ごとに分割するLeaf-wise戦略で高速化。
大規模データで圧倒的な速さを見せるの。

紫藤 ゆら(笑顔) 紫藤 ゆら

わぁ、どんどん速くなってるんですねぇ〜!

六角 いずみ 先生(普段) 六角 いずみ 先生

2017年のCatBoost(Yandex) はカテゴリ変数の扱いが得意で、これも業界で広く使われるわ。

雷門 あかり(笑い) 雷門 あかり

実務だと、表データではDLよりこっちの方が強いって聞くもんね!

白銀 エマ(普段) 白銀 エマ

その通り。
表形式データでは勾配ブースティング系が今でも主流。
DLは画像・音声・自然言語の非構造化データで強い、という棲み分けね。

六角 いずみ 先生(普段) 六角 いずみ 先生

G検定では『AdaBoost・勾配ブースティング・XGBoost・LightGBM』『バギングとブースティングの違い (並列vs逐次)』を押さえて!

確認クイズ

ブースティング手法として最も適切なものはどれか。

  1. ランダムフォレスト
  2. XGBoost
  3. k-means
  4. DBSCAN
こたえを見る

正解: 2. XGBoost

XGBoostは勾配ブースティング手法の代表例です。ランダムフォレストはバギング、k-meansとDBSCANはクラスタリング (教師なし学習) です。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。