GBDT、XGBoost、LightGBM比较
1.GBDT
GBDT (Gradient Boosting Decision Tree) 梯度提升決策樹。DT-Decision Tree決策樹,GB是Gradient Boosting,是一種學習策略,GBDT的含義就是用Gradient Boosting的策略訓練出來的DT模型
在前幾年深度學習還沒有大行其道之前,GBDT在各種競賽是大放異彩。一是效果確實挺不錯。二是即可以用于分類也可以用于回歸。三是可以篩選特征。
Boosting共有的缺點為訓練是按順序的,難以并行,這樣在大規模數據上可能導致速度過慢,所幸近年來XGBoost和LightGBM的出現都極大緩解了這個問題。XGBoost和LightGBM是GBDT的升級版。
支持以下應用:
1)回歸,目標函數為 L2 loss
2)二分類, 目標函數為 logloss(對數損失)
3)多分類
4)ambdarank, 目標函數為基于 NDCG 的 lambdarank
GBDT學習總結(Boosting、決策樹)
https://blog.csdn.net/zephyr_wang/article/details/106409307
| 默認基于 pre-sorted 的算法 | 基于 histogram 的算法 |
| Leaf-wise (Best-first) 的決策樹生長策略 | |
| 連續的值替換為 discrete bins | |
| 直方圖差加速 |
2.XGBoost
1)設計和建立了一個可擴展的端到端的樹提升系統。特點是可以快速的處理大數據。2015-2017年。
2)引入了一個新穎的稀疏感知算法,可以并行的樹訓練;
3)提出了一個理論上公平的權重分位數略圖方法,方便近似學習查找最佳分割點。
4)對于硬盤上的大數據的樹學習,我們提出了一個有效的緩存感知塊結構,以及數據壓縮、分片。
XGBoost論文筆記(https://blog.csdn.net/zephyr_wang/article/details/109211849)
3.LightGBM
2017年。LightGBM在準確率不影響的情況下,比XGBoost更快。
采用GOSS和EFB的GBDT算法,我們叫做LightGBM。Gradient-based One-Side Sampling (GOSS) and Exclusive Feature Bundling (EFB,排除在外特征的捆綁打包)。
采用GOSS,我們可以排除相當比例的小梯度信息的數據實例,僅使用剩下的數據實例評估信息增益。擁有大梯度的數據實例在信息增益計算中扮演重要的角色。
即GOSS用來減少訓練數據量。
采用EFB,我們可以把互斥的特征(他們很少同時擁有非零值)打包在一起,來減少特征的數量。尋找互斥特征的最優打包是NP-hard(NP是指多項式復雜程度的非確定性問題non-deterministic polynomial,縮寫NP)的,但一個貪婪的算法可以完成很好的近似比率。
即EFB用來減少特征維度。
《LightGBM: A Highly Efficient Gradient Boosting Decision Tree》論文筆記
https://blog.csdn.net/zephyr_wang/article/details/109244085
總結
以上是生活随笔為你收集整理的GBDT、XGBoost、LightGBM比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【币值最大化问题】
- 下一篇: p2p 企业信贷 UML 跨行清算