XGBoost

eXtreme Gradient Boosting

XGBoost(eXtreme Gradient Boosting)とは、勾配ブースティングを高速化・高精度化した機械学習ライブラリです。2014年にTianqi Chenによって開発され、Kaggleコンペティションで数々の優勝を記録し、表形式データにおける標準的なアルゴリズムとなりました。

XGBoostの特徴

正則化項の導入による過学習抑制、欠損値の自動処理、並列計算による高速な学習、柔軟なカスタム損失関数のサポートなど、多くの実用的な機能を備えています。また、スパースなデータに対しても効率的に動作します。

表:XGBoostの要点まとめ
ひとことで言うと勾配ブースティングを高速化し、正則化も加えた定番ライブラリ。
どこで使う表形式データの予測タスク全般。データ分析コンペの定番。
注意点設定項目が多い。まずは木の数・深さ・学習率の3つから調整する。

ハイパーパラメータ

主要なハイパーパラメータには、学習率(eta)、木の最大深さ(max_depth)、正則化パラメータ(lambda, alpha)、サブサンプル比率(subsample)、列サンプル比率(colsample_bytree)などがあります。

図:XGBoostの特徴
1勾配ブースティング誤差を順に学習
▶
2正則化を追加過学習を抑える
▶
3並列処理で高速化分割探索を並列に
▶
4欠損値も自動処理前処理の手間が減る

LightGBMとの比較

LightGBMはXGBoostより後発で、大規模データセットでの学習速度に優れています。一方、XGBoostは安定性が高く、小〜中規模データでは依然として優れた選択肢です。