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的升級版。
GBDT學習總結(Boosting、決策樹)
https://blog.csdn.net/zephyr_wang/article/details/106409307
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
相關文章
- [機器學習 ]RandomForest、GBDT、XGBoost、lightGBM 原理與區別機器學習randomREST
- 大規模GBDT系統應用場景及效果對比(LightGBM,XgBoost,DimBoost等)
- Cart迴歸樹、GBDT、XGBoost
- RF、GBDT、XGboost特徵選擇方法特徵
- 劍指LightGBM和XGboost!史丹佛發表NGBoost演算法演算法
- Lightgbm
- js 深比較和淺比較JS
- 演算法金 | 決策樹、隨機森林、bagging、boosting、Adaboost、GBDT、XGBoost 演算法大全演算法隨機森林
- 通俗理解kaggle比賽大殺器xgboost
- Oracle date 型別比較和String比較Oracle型別
- 比較集合
- Integer比較
- 效能比較
- 字串比較字串
- lightgbm安裝
- lightgbm調參
- 比較檔案是否相同,(比較MD5值)
- [C++] 自定義C++比較器比較大小C++
- Go和Python比較的話,哪個比較好?GoPython
- 列舉比較
- 常用 NoSQL 比較SQL
- Jsonunit 比較jsondiffJSON
- Integer的比較
- easyExcel & poi 比較Excel
- 主流CRM比較
- ==與equals比較
- Java 比較器Java
- CORS/JSONP比較CORSJSON
- 數字比較
- PHP比較字串PHP字串
- 今日面試題分享:請問(決策樹、Random Forest、Booting、Adaboot)GBDT和XGBoost的區別是什麼?...面試題randomRESTboot
- Vuex與Redux比較VueRedux
- 抽象類 & 介面比較抽象
- 拇指相機 比較
- js比較日期 - JavaScriptJSJavaScript
- python字串比較大小Python字串
- java--BEAN比較JavaBean
- etcd和redis比較Redis