Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LightGBM: A Highly Efficient Gradient Boosting Decision Tree #7

Open
raxman0721 opened this issue Aug 25, 2019 · 0 comments
Open

LightGBM: A Highly Efficient Gradient Boosting Decision Tree #7

raxman0721 opened this issue Aug 25, 2019 · 0 comments

Comments

@raxman0721
Copy link
Owner

論文

LightGBM: A Highly Efficient Gradient Boosting Decision Tree

著者/所属機関

Guolin Ke, Qi Meng, Thomas Finley, Taifeng Wang,Wei Chen, Weidong Ma, Qiwei Ye, Tie-Yan Liu

1. どんなもの?

決定木のアンサンブル学習シリーズ。
GOSSとEFBという手法を使って、GBDT(Gradient Boosting Decision Tree)の約20倍のスピードアップを示せた。

2. 先行研究と比べてどこがすごい?

スピード。
精度をほぼ落とさず、スピードアップが出来た。

3. 技術や手法のキモはどこ?

GOSS(Gradient-based One-Side Sampling)

勾配が大きいサンプルに重心をおいてダウンサンプリングすることで、効率的に学習をすすめることが出来る。
スクリーンショット 2019-08-25 13 53 31

  1. 定数a,bを設定する。(それぞれ割合)
  2. 弱学習器で予測して、loss(勾配)を出す。
  3. 勾配の絶対値でソートする。
  4. 上位a割をtopSetとして格納
  5. 残ったデータのb割をrandSetとして格納
  6. データの分布が変わらない様にrandSetに(1-a)/bだけ重み付けする。
  7. 学習

上位からa割のサンプル(topSet)は全て学習に使うが、残りはb割(randSet)のみ使用。
randSetは最後に(1-a)/bをかけて重みを修正する。

EFB(Exclusive Feature Bundling)

スパースな特徴量同士をマージさせることで、特徴量の数を減らすことが出来る。
ワンホットエンコーディングしたものを元に戻すイメージ。

スクリーンショット 2019-08-25 14 08 39

Algorithm 3でまとめる特徴量同士グループ分けする。 Algorithm 4では同じグループの特徴量を一つの特徴量にまとめる。

4. どうやって有効だと検証した?

複数の分類問題と、ランク付け問題のデータセットを使用。
それぞれスパースなデータとデンスなデータがあって、データ数もそれなりに多い。
スクリーンショット 2019-08-25 14 11 48

  • xgb_eta(XGBoost + Pre-ssorted algorithm)
  • xgb_his(XGBoost + Histogram-based algorithm)
  • lgb_baseline(LGBMのGOSSとEFBを使わなかったもの)
  • lgb_baseline + EFB
  • LightGBM (LGBMの全て使ったもの)

それぞれ上記5種類のモデルで比較。

学習時間の比較

スクリーンショット 2019-08-25 14 13 13

学習時間はどのデータセットでも圧勝 またGOSSはデータセットが大きいデータの方が効果が大きい。 EFBはスパースなデータの場合は特に効果が大きい。
精度の比較

スクリーンショット 2019-08-25 14 13 24

精度はほぼ変わらず。というか少し上がっている。
推移

スクリーンショット 2019-08-25 14 13 44

5. 議論はある?

無い。

6. 次に読むべき論文は?

NIPS 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant