Boosting:XGBoost思想及数据推导详细过程

    Boosting思想:

    Boosting主要是一种思想,表示“知错就改”。是一族可将弱学习器提升为强学习器的算法,如Adaboost、GBDT、XGBOOST,这组算法的工作机制类似。先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个学习器,如此重复进行下去,直到基学习器数目达到事先指定的值T,最终将这 T个基学习器进行加权结合。

    Boosting是是串行构造模型,不断使用后一个弱分类器弥补前一个弱分类器的不足的过程。且最终结果为模型结果的加总。

    Boosting族著名的算法:Adaboost、GBDT、XGBOOST


1、XGBoost介绍

    XGBoost是2014年2月诞生,由中国的陈天奇提出。XGBoost实现的是一种通用的Tree Boosting算法。 xgboost即能解决分类问题,也能解决回归问题。  

    原理是,首先使用训练集和样本真值(即标准答案)训练一棵树,然后使用这棵树预测训练集,得到每个样本的预测值,由于预测值与真值存在偏差,所以二者相减可以得到“残差”。接下来训练第二棵树,此时不再使用真值,而是使用残差作为标准答案。两棵树训练完成后,可以再次得到每个样本的残差,然后进一步训练第三棵树,以此类推。树的总棵数可以人为指定,也可以监控某些指标(例如验证集上的误差)来停止训练。

    举例1说明:预测客户去银行审批贷款的额度,假设客户的额度为1000。

  • 使用第一颗树预测,其目标函数为1000。假设模型预测的结果为920,则残差为80。

  • 接着构造第二课树预测,这时其目标函数就要基于第一颗树的预测结果,此时的目标函数是怎么样弥补前一课树的残差,即减少残差。第二颗树的目标函数为80。假设第二颗树预测的结果为50,则与真实值的残差还剩下30,即会作为第三颗树的目标值。

  • 接着进行第三棵树预测,此时的目标函数为30,假设第三课树又找回来12。

  • 依次类推,串行构造,需要把前一颗树的结果当成一个整体。最终结果值为n棵树的结果相加。比如例中,如果只做三颗树预测,最终结果为982。


    举例2说明:用两颗树来预测一个人是否喜欢玩游戏。最下面的一行数2、0.1、-1为得分值

    模型的结果为两颗树的值相加。比如男孩爱玩游戏的得分为2.9,老人爱玩游戏的得分为1.9。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值