集成学习根据各个弱分类器之间有无依赖关系,分为Boosting和Bagging两大流派:
-
Boosting流派,各分类器之间有依赖关系,必须串行,比如Adaboost、GBDT(Gradient Boosting DecisionTree)、Xgboost。
-
Bagging流派,各分类器之间没有依赖关系,可各自并行,比如随机森林(Random Forest)。
GBDT, lightGBM和XGBoost的区别
- 传统GBDT在优化时只用到一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数;
- 传统GBDT以CART作为基分类器,xgboost支持线性分类器(线性问题就相当于用了L1正则化,L2正则化,L0不是凸函数,且不是连续的函数,不好优化);
- xgboost在代价函数里加入了正则项,用于控制模型的复杂度(使Θ更多的变为0,使我维度减下,所以,降低了复杂度),xgboost在进行完一次迭代后,会乘以一个系数,也就是shrinkage,每次更新值缩减后,再进行更新。
参考文献
Adaboost 算法
浅谈 GBDT
史上最详细的XGBoost实战
机器学习---xgboost与lightgbm效果比较(2)
常用的集成学习方法
机器学习(八)——集成学习
集成学习基本原理:Adaboost,Bagging和Stacking
TensorFlow 教程 #05 - 集成学习
模型融合方法总结
模型融合的主要方法
Ensemble Learning-模型融合-Python实现
关于多分类器融合算法
集成学习算法(Ensemble Method)浅析
集成学习(ensemble learning )该如何入门?
集成学习总结 & Stacking方法详解
Kaggle机器学习之模型融合(stacking)心得
Stacking Learning在分类问题中的使用