提升树(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
    评论
随机森林(Random Forest)和Gradient Boosting Tree梯度提升,简称GBT)都是常用的机器学习算法,主要用于回归和分类问题,但它们在许多方面有着显著的区别。 首先,随机森林是基于决策树的集成学习方法,它通过组合多个决策树来做出预测。而GBT也是基于决策树的集成学习方法,但它是通过迭代的方式逐步构建弱分类器的集合,并通过加权来减小误差。因此,GBT是序列化建模的方式,一个模型的构建依赖于上一轮模型的结果。 其次,随机森林在构建决策树时,每次只从所有特征中选择一部分特征作为候选集。这样做的好处是可以降低单棵决策树的方差和过拟合风险。而GBT在每个迭代周期中,都会调整样本的权重,使得在下一轮中更关注之前错误分类的样本,从而逐渐改善模型的性能。 此外,随机森林中的每棵决策树是独立训练的,它们在特征选择和样本集采样上都是独立的。而GBT的每个迭代周期中,都是基于上一轮的残差错误进行训练,因此各个基分类器之间是紧密相关的。这也导致GBT对噪声和异常值相对敏感,但它的性能和表达能力往往更强于随机森林。 最后,随机森林通常可以直接输出相应的概率,而GBT需要利用其他方法(如sigmoid函数)对输出进行转换得到概率。这是因为GBT是基于决策树的二分类器,每个样本最终的输出值为基分类器对该样本的累积预测结果。 综上所述,随机森林和Gradient Boosting Tree在构建方式、特征选择、样本集采样、模型关联度以及输出处理等方面都有不同的特点和策略,因此在不同的问题和场景中,选择合适的算法可以得到更好的性能和结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值