首页 > 其他 > 详细

XGBoost

时间:2021-07-25 23:33:33      阅读:32      评论:0      收藏:0      [点我收藏+]

XGBoost本质上就是一种GBDT,但是力争把速度和效率提高到极致,所以叫X (Extreme) GBoosted。

下面例子来自:陈天奇的讲义PPT

我们要预测一家人对电子游戏的喜好程度。

Tree1: 考虑到年轻和年老相比,年轻更可能喜欢电子游戏,以及男性和女性相比,男性更喜欢电子游戏,故先根据年龄大小区分小孩和大人,然后再通过性别区分开是男是女,逐一给各人在电子游戏喜好程度上打分,如下图所示。

技术分享图片

Tree2: 根据日常是否使用计算机来看。
技术分享图片

这样训练出了2棵树tree1和tree2,类似之前DBDT的原理,两棵树的结论累加起来便是最终的结论,所以小孩的预测分数就是两棵树中小孩所落到的结点的分数相加:2 + 0.9 = 2.9。爷爷的预测分数同理:-1 + (-0.9)= -1.9。具体如下图所示:

技术分享图片

XGBoost的核心算法思想不难,基本就是:

  • 不断地添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实是学习一个新函数f(x),去拟合上次预测的残差。

  • 当我们训练完成得到k棵树,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数

  • 最后只需要将每棵树对应的分数加起来就是该样本的预测值。

显然,我们的目标是要使得树群的预测值尽量接近真实值,而且有尽量大的泛化能力。

类似之前GBDT的套路,XGBoost也是需要将多棵树的得分累加得到最终的预测得分(每一次迭代,都在现有树的基础上,增加一棵树去拟合前面树的预测结果与真实值之间的残差)。

参考:

XGBoost

原文:https://www.cnblogs.com/ghj1976/p/xgboost.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!