#概要理解
LightGBMとは、以下と捉えることができる。
LightGBM = GBDT(Gradient boosting decision tree) + GOSS(Gradient-based One-Side Sampling) + EFB(Exclusive Feature Bundling)
#GBDTの問題点
従来GDBTの問題点の1つとして、学習時間があげられる。
そしてその学習時間の多くが、分岐点を探す際にかかる時間である。
#改善Point
上記の問題点を踏まえ、改善観点として大きく2つ考えられる。
###1.データ量を減らす(GOSS)
データをサンプリングして学習する。
ただし、以下2点に注意。
・勾配が小さいデータに関しては学習しなくてもよい。(勾配が小さい=よく学習できている)
・単にサンプリングするだけでは精度への影響が懸念されるため、元データとの変更がないようにわり割り戻して整合性を保つ
###2.特徴量を減らす(EFB)
疎なデータ(データがNULLだらけな様子。スパースともいう。)に関してはデータをいくつかにまとめ、そのまとめた単位毎に学習をおこなう。(データ1つ1つ学習するより速そう、というのか感覚的にも理解できる。)
#結果
論文の結果からすると精度も速度もLightGBMが1番良かったっぽい
#今後理解が必要な箇所
・GOSS/EFBのアルゴリズム理解
・P/NP/NP-Hard/NP-Completeについての理解
[参考]
https://www.slideshare.net/tkm2261/nips2017-lightgbm-a-highly-efficient-gradient-boosting-decision-tree
http://developer.hatenastaff.com/entry/ml_reading_party_201804#LightGBM-A-Highly-Efficient-Gradient-Boosting-Decision-Tree
https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html
(論文)
https://papers.nips.cc/paper/6907-lightgbm-a-highly-efficient-gradient-boosting-decision-tree.pdf