集成學(xué)習(xí)Ensemble Learning
集成學(xué)習(xí)是一種思想而不是一種算法,通過合并多個弱學(xué)習(xí)器(決策樹、神經(jīng)網(wǎng)絡(luò)、樸素貝葉斯等)來提升機器學(xué)習(xí)的性能。
目前集成學(xué)習(xí)方法大致分為兩大類:
(1)個體學(xué)習(xí)器存在強依賴,必須串行生成 (Boosting提升方法)
(2)個體學(xué)習(xí)器不存在強依賴,可同時生成的并行化方法 (Bagging和隨機森林)
boosting
- GBDT(Gradient Boosting Decision Tree),GBDT是GB和DT的結(jié)合
- XGBoost(eXtreme Gradient Boosting),在2014年3月由陳天奇提出,xgboost是由多個CART決策樹集成,是二叉樹。XGBoost本質(zhì)上還是一個GBDT,但是力爭把速度和效率發(fā)揮到極致
- LightGBM(Light Gradient Boosting Machine),2017年1月微軟發(fā)布首個穩(wěn)定版
- CatBoost,2017年4月由俄羅斯頂尖技術(shù)公司Yandex開源
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ì)是二叉樹,輸出結(jié)果為leaf_value,在what is mean leaf_value指出通過sigmoid處理后就是最終結(jié)果。
參考資料
[1] 李航 《統(tǒng)計學(xué)習(xí)方法》第8章 提升方法
[2] 周志華 《機器學(xué)習(xí)》 第8章 集成學(xué)習(xí)
[3] 從結(jié)構(gòu)到性能,一文概述XGBoost、Light GBM和CatBoost的同與不同: https://cloud.tencent.com/developer/news/149453
[4] 決策樹模型,XGBoost,LightGBM和CatBoost模型可視化: https://blog.csdn.net/l_xzmy/article/details/81532281