Machine Learning - 給自己的機器學習筆記 - Kaggle競賽必備!! - LightGBM (Light Gradient Boosting Machine) - 介紹與原理 - 筆記(一)

Github連結

攝影師:Quintin Gellar,連結:Pexels




1. LightGBM是什麼?


在論文中,作者說明他們是如何開發出LightGBM的方法的,他們在傳統的演算法 - Gradient Boosting Decision Tree(GBDT)上添加他們提出的Gradient-based One-Side Sampling (GOSS) 和 Exclusive Feature Bunding (EFB)方法,就成為了LightGBM


補充:

Mutually Exclusive Feature: 兩個很少同時採用非零值的特徵(two features that rarely take nonzero values simultaneously)



2. Boosting演算法的發展歷史 - XGBoost、LightGBM、CatBoost


為什麼Boosting演算法那麼熱門?


他們對於訓練資料有限、訓練時間少、專業知識少的引數調優系統中,還是能發揮極大的作用


圖片來源: https://towardsdatascience.com/catboost-vs-light-gbm-vs-xgboost-5f93620723db



3. LightGBMXGBoost?



XGBoost

LightGBM

舉例: 假設我手邊有1萬筆資料,其中的2千筆有比較高的梯度,所以被我都保留,剩下的8千筆,隨機選擇個20%,那最後在發現的分割值基礎上,我們選擇了全部數據1萬筆裡面的3千600筆數據


我覺得這篇: https://codertw.com/程式語言/510420/ 寫得非常非常厲害,它幫我們詳細比較了XGBoost、LightGBM 和CatBoost,也清楚寫出方法的過程原理,推薦大家閱讀



4. 為什麼使用LightGBM這麼熱門?


由於它具有以下的優勢,讓它迅速的被廣泛使用



5. 任何情況都適用LightGBM嗎?


當然不是囉,LightGBM對於過擬和(overfitting)很敏感,所以不適合用於小型數據集,對於小型數據集非常容易overfitting



Reference

https://en.wikipedia.org/wiki/LightGBM

論文: 1999 REITZ LECTURE GREEDY FUNCTION APPROXIMATION: A GRADIENT BOOSTING MACHINE1 By Jerome H. Friedman

https://zhuanlan.zhihu.com/p/52583923

https://kknews.cc/zh-tw/tech/y3a3x8j.html

https://github.com/denistanjingyu/LTA-Mobility-Sensing-Project

https://codertw.com/程式語言/510420/

https://lightgbm.readthedocs.io/en/latest/Parameters.html https://towardsdatascience.com/catboost-vs-light-gbm-vs-xgboost-5f93620723db