《Spark机器学习进阶实战》——3.5.2 梯度提升树

举报
华章计算机 发表于 2019/06/01 22:42:41 2019/06/01
【摘要】 本书摘自《Spark机器学习进阶实战》——书中的第3章,第3.5.2节,作者是马海平、于俊、吕昕、向海。


3.5.2 梯度提升树

梯度提升树(Gradient Boosting Decision Tree,GBDT)模型是一种基于提升方法的决策树改进的树模型,它训练多棵决策树,每一棵树学习的是之前的所有的树预测值与真实值之间的残差,最终将多棵树的打分进行叠加得出结果。GBDT控制树的规模保证每棵树只学习一部分的样本和特征,来防止过拟合,模型有较好的泛化性。

相比较GBDT算法只利用了一阶导数信息,XGBoost(Extreme Gradient Boosting)对损失函数做了二阶的泰勒展开,并在目标函数之外加入了正则项对整体求最优解,用以权衡目标函数的下降和模型的复杂程度,避免过拟合。

随机森林和GBDT都是基于决策树的集成模型,它们都可以简单直观地描述特征的非线性和特征之间的组合,有着不错的训练效果,同时可以较好地防止过拟合,两个模型的差别如下。

GBDT每次只训练一个棵树,而随机森林可以同时并行训练多棵树,训练速度更快。

随机森林更不容易过拟合,随机森林中使用更多的树会降低过拟合风险,但是GBDT使用更多的树则会增加过拟合风险。

随机森林由于加入了随机抽样,相同样本和训练参数的多次训练结果会不同,训练过程不可复现,而GBDT每次的训练结果是相同的。

在MLlib实现中,随机森林可以处理二分类和多分类问题,而GBDT只能处理二分类问题。

由于随机森林和GBDT都是基于树模型的分类器,特征维度很大时,训练速度会非常慢,训练效果也较差,在实际的CTR预估中,一般会先将高维稀疏特征转化为低维稀疏特征,再用随机森林和GBDT进行训练。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。