集成学习
- boosting 每个弱分类器的生成是串行的
- AdaBoost
- GBDT
- XGBoost(特征粒度上是并行的)
- bagging 每个弱分类器的生成是并行的
- random forest
AdaBoost
- Adaptive Boost 自适应提升
GBDT
-
Gradient Boosting Decision Tree 梯度提升树
-
新的提升树对残差进行训练
-
有两种描述版本,把GBDT说成一个迭代残差树,认为每一棵迭代树都在学习前N-1棵树的残差;把GBDT说成一个梯度迭代树,使用梯度迭代下降法求解,认为每一棵迭代树都在学习前N-1棵树的梯度下降值。有说法说前者是后者在loss function为平方误差下的特殊情况。这里说下我的理解,仍然举个例子:第一棵树形成之后,有预测值ŷ i
XGBoost
- Extreme Gradient Boosting 极端梯度提升
对GBDT的改进
Xgboost第一感觉就是防止过拟合+各种支持分布式/并行,所以一般传言这种大杀器效果好(集成学习的高配)+训练效率高(分布式),与深度学习相比,对样本量和特征数据类型要求没那么苛刻,适用范围广。
Xgboost和深度学习的关系,陈天奇在Quora上的解答如下:
不同的机器学习模型适用于不同类型的任务。深度神经网络通过对时空位置建模,能够很好地捕获图像、语音、文本等高维数据。而基于树模型的XGBoost则能很好地处理表格数据,同时还拥有一些深度神经网络所没有的特性(如:模型的可解释性、输入数据的不变性、更易于调参等)。
这两类模型都很重要,并广泛用于数据科学竞赛和工业界。举例来说,几乎所有采用机器学习技术的公司都在使用tree boosting,同时XGBoost已经给业界带来了很大的影响。
参考资料:https://www.cnblogs.com/wj-1314/p/9402324.html
参考资料:https://cloud.tencent.com/developer/article/1513111
奥卡姆剃刀原则
简单的模型是更好的模型