LightGBMとは?XGBoostとの違いと実践的な使い方

LightGBMとは?XGBoostとの違いと実践的な使い方

AIを知りたい

LightGBMってXGBoostと似ていると聞いたのですが、何が違うのですか?

AIエンジニア

LightGBMもXGBoostと同じく勾配ブースティングベースのアルゴリズムですが、Microsoftが開発した後発の手法で、学習速度が大幅に速いのが最大の特徴です。大規模データセットでもメモリ効率よく高速に学習できるよう設計されています。

AIを知りたい

なぜそんなに速いのですか?

AIエンジニア

主に2つの技術のおかげです。GOSS(Gradient-based One-Side Sampling)で勾配が小さいサンプルを間引いてデータ量を削減。EFB(Exclusive Feature Bundling)で相互排他的な特徴量をまとめて次元を削減。この2つにより計算量を大幅に減らしています。

LightGBM(Light Gradient Boosting Machine)とは、Microsoftが開発した高速・省メモリな勾配ブースティングフレームワークです。

GOSSとEFBという独自技術により、大規模データセットでもXGBoostの10〜20倍の速度で学習できます。Kaggleや実務で広く使われ、表形式データの分類・回帰タスクにおいてトップクラスの性能を発揮します。

XGBoostとの詳細比較

AIを知りたい

XGBoostとLightGBMの具体的な違いを教えてください。

AIエンジニア

最大の違いは木の成長方式です。XGBoostは「Level-wise(層ごと)」に成長させ、同じ深さの全ノードを分割します。LightGBMは「Leaf-wise(葉ごと)」で、最も損失を減らせる葉だけを分割します。Leaf-wiseの方が効率的に精度を上げられます。

AIを知りたい

精度はどちらが上なんですか?

AIエンジニア

一概には言えませんが、多くのベンチマークで同等かLightGBMがやや上です。ただし差は小さく、データセットやチューニングによって逆転することもあります。速度の差は明確で、LightGBMの方が数倍〜十数倍速いです。

項目 XGBoost LightGBM
開発元 個人(Tianqi Chen) Microsoft
木の成長方式 Level-wise Leaf-wise
学習速度 速い 非常に速い(10-20倍)
メモリ使用量 多い 少ない
カテゴリ特徴量 エンコーディング必要 ネイティブ対応
過学習リスク 中程度 やや高い
データ数が少ない場合 安定 過学習しやすい

LightGBMの主要パラメータ

AIを知りたい

LightGBMの重要なパラメータを教えてください。

AIエンジニア

最も重要なのはnum_leaves(葉の最大数)です。Leaf-wise成長なので、max_depthよりnum_leavesで複雑さを制御します。一般的にnum_leaves = 2^max_depth – 1以下に設定します。例えばmax_depth=7なら127以下が目安です。

AIを知りたい

カテゴリ特徴量のネイティブ対応とはどういうことですか?

AIエンジニア

XGBoostではカテゴリ特徴量をOne-Hot Encodingなどで数値に変換する必要がありますが、LightGBMはカテゴリ特徴量をそのまま入力できます。内部で最適な分割を自動的に見つけてくれるので、前処理が楽になり、精度も向上することが多いです。

パラメータ 推奨範囲 説明
num_leaves 20〜150 葉の最大数(複雑さの制御)
learning_rate 0.01〜0.3 学習率
n_estimators 100〜1000 ブースティング回数
min_child_samples 5〜100 葉の最小サンプル数
subsample 0.6〜1.0 各木で使うデータ割合
colsample_bytree 0.6〜1.0 各木で使う特徴量割合
reg_alpha 0〜10 L1正則化

実践的な使い分けガイド

AIを知りたい

結局、XGBoostとLightGBMはどう使い分ければいいですか?

AIエンジニア

基本的にはまずLightGBMを試すのがおすすめです。速いのでパラメータチューニングの試行回数を稼げます。ただしデータが少ない場合(1万行以下)はXGBoostの方が安定した結果が出やすいです。Kaggleの上位者は両方試してアンサンブルすることも多いです。

AIを知りたい

CatBoostというのも聞いたことがあるのですが。

AIエンジニア

CatBoostはYandexが開発した勾配ブースティングで、カテゴリ特徴量の処理に特化しています。Ordered Target Statisticsという独自の手法でリーク無くカテゴリをエンコードします。カテゴリ特徴量が多いデータセットでは非常に強力です。3つとも試してベストを選ぶのが理想的です。

まとめ

LightGBMは高速・省メモリな勾配ブースティングフレームワークとして、表形式データの機械学習で最も広く使われているツールの一つです。Leaf-wise成長やGOSS、EFBなどの独自技術でXGBoostを上回る速度を実現しつつ、同等以上の精度を出します。カテゴリ特徴量のネイティブ対応も大きな利点です。まずLightGBMで試して、必要に応じてXGBoostやCatBoostも検討しましょう。

関連記事