集成學(xué)習(xí)Ensemble Learning
集成學(xué)習(xí)是一種思想而不是一種算法,通過(guò)合并多個(gè)弱學(xué)習(xí)器(決策樹(shù)迎捺、神經(jīng)網(wǎng)絡(luò)举畸、樸素貝葉斯等)來(lái)提升機(jī)器學(xué)習(xí)的性能。
目前集成學(xué)習(xí)方法大致分為兩大類:
(1)個(gè)體學(xué)習(xí)器存在強(qiáng)依賴凳枝,必須串行生成 (Boosting提升方法)
(2)個(gè)體學(xué)習(xí)器不存在強(qiáng)依賴抄沮,可同時(shí)生成的并行化方法 (Bagging和隨機(jī)森林)
boosting
- GBDT(Gradient Boosting Decision Tree),GBDT是GB和DT的結(jié)合
- XGBoost(eXtreme Gradient Boosting)范舀,在2014年3月由陳天奇提出,xgboost是由多個(gè)CART決策樹(shù)集成合是,是二叉樹(shù)。XGBoost本質(zhì)上還是一個(gè)GBDT锭环,但是力爭(zhēng)把速度和效率發(fā)揮到極致
- LightGBM(Light Gradient Boosting Machine)聪全,2017年1月微軟發(fā)布首個(gè)穩(wěn)定版
- CatBoost,2017年4月由俄羅斯頂尖技術(shù)公司Yandex開(kāi)源
catboost模型回溯
catboost.CatBoostClassifier支持save_model保存為Python辅辩、C++等多種形式:
# python
cat_clf.save_model('catboost_model_file.py', format="python", export_parameters=None)
# C++
cat_clf.save_model('catboost_model_file.cpp', format="cpp", export_parameters=None)
可以發(fā)現(xiàn)catboost本質(zhì)是二叉樹(shù)难礼,輸出結(jié)果為leaf_value,在what is mean leaf_value指出通過(guò)sigmoid處理后就是最終結(jié)果。
參考資料
[1] 李航 《統(tǒng)計(jì)學(xué)習(xí)方法》第8章 提升方法
[2] 周志華 《機(jī)器學(xué)習(xí)》 第8章 集成學(xué)習(xí)
[3] 從結(jié)構(gòu)到性能玫锋,一文概述XGBoost蛾茉、Light GBM和CatBoost的同與不同: https://cloud.tencent.com/developer/news/149453
[4] 決策樹(shù)模型,XGBoost撩鹿,LightGBM和CatBoost模型可視化: https://blog.csdn.net/l_xzmy/article/details/81532281