GDBT模型、XGBoost和LightGBM之间的区别与联系
参考资料:知乎1
GBDT提升树与XGBoost树
相比于经典的GBDT,xgboost做了一些改进,从而在效果和性能上有明显的提升,在这里,通过整理了一些资料,总结了一下:
第一,GBDT将目标函数泰勒展开到一阶,而xgboost将目标函数泰勒展开到了二阶。
使用泰勒展开到二阶的原因:
- 统一损失函数求导的形式以支持自定义损失函数
- 二阶信息本身就能让梯度收敛更快更准确
第二,GBDT是给新的基模型寻找新的拟合标签(前面加法模型的负梯度),而xgboost是给新的基模型寻找新的目标函数(目标函数关于新的基模型的二阶泰勒展开)
第三,xgboost加入了和叶子权重的L2正则化项,因而有利于模型获得更低的方差。
第四,xgboost增加了自动处理缺失值特征的策略。通过把带缺失值样本分别划分到左子树或者右子树,比较两种方案下目标函数的优劣,从而自动对有缺失值的样本进行划分,无需对缺失特征进行填充预处理。
第五:XGBoost采用了Shrinkage 和Column Subsampling方法,这两