提升树(boosting tree)

转载于:GBDT原理详解

                统计学习方法--提升树模型(Boosting Tree)与梯度提升树(GBDT)

提升树算法

决策树基函数的提升方法为提升树,对分类问题决策树是二叉分类树回归问题就是二叉回归树(可以看出,决策树本来就可以用预分类或者是回归)

提升树模型为加法模型,采用前向分步算法训练。

所谓加法模型就是强分类器可以由多个弱分类器线性相加,如下,M为树的个数, Θ表示决策树的参数。

提升树算法采用前向分部算法,第m步的模型是:

然后损失函数为:

迭代的目的是构建使得本轮损失最小,求得相应的参数Θ:

对于不同的问题采用的损失函数不同,在分类问题中使用的就是0/1损失函数。对与回归问题来说,一般采用平方误差函数

分类提升树

对于基函数是分类树时,我们使用指数损失函数,此时正是AdaBoost算法的特殊情况,即将AdaBoost算法中的基分类器使用分类树即可。

回归提升树

对于回归问题,关于回归树的生成可以参考CART算法中回归树的生成。对于以下问题:

输入:

输出:

对于一颗回归树可以表示为:

其中,参数表示树的区域划分和各区域上的常数。J是回归树的复杂度即叶结点的个数。

那么在前向分步算法的第m步中也就是求解第m个回归树模型时,为了确定参数需要求解:

当采用平方误差损失函数时,损失函数为:

将上面的待求解式子带入到下面的平方误差函数中可以得到以下表达式:

这就表明每一次进行回归树生成时采用的训练数据都是上次预测结果与训练数据值之间的残差。这个残差会逐渐的减小。

算法流程:

(1)初始化模型

(2)对于m=1,2,...,M

   (a)计遍历每个特征的每个可能取值,计算残差:

   (b) 拟合残差  ,选择平方损失函数最小的切分点学习到一颗回归树,得到这一轮的回归树

   (c) 更新 

(3)得到回归提升树:

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值