XGBoost(eXtreme Gradient Boosting)とは、勾配ブースティングを高速化・高精度化した機械学習ライブラリです。2014年にTianqi Chenによって開発され、Kaggleコンペティションで数々の優勝を記録し、表形式データにおける標準的なアルゴリズムとなりました。
XGBoostの特徴
正則化項の導入による過学習抑制、欠損値の自動処理、並列計算による高速な学習、柔軟なカスタム損失関数のサポートなど、多くの実用的な機能を備えています。また、スパースなデータに対しても効率的に動作します。
| ひとことで言うと | 勾配ブースティングを高速化し、正則化も加えた定番ライブラリ。 |
|---|---|
| どこで使う | 表形式データの予測タスク全般。データ分析コンペの定番。 |
| 注意点 | 設定項目が多い。まずは木の数・深さ・学習率の3つから調整する。 |
ハイパーパラメータ
主要なハイパーパラメータには、学習率(eta)、木の最大深さ(max_depth)、正則化パラメータ(lambda, alpha)、サブサンプル比率(subsample)、列サンプル比率(colsample_bytree)などがあります。
1勾配ブースティング誤差を順に学習
▶
2正則化を追加過学習を抑える
▶
3並列処理で高速化分割探索を並列に
▶
4欠損値も自動処理前処理の手間が減る
LightGBMとの比較
LightGBMはXGBoostより後発で、大規模データセットでの学習速度に優れています。一方、XGBoostは安定性が高く、小〜中規模データでは依然として優れた選択肢です。