随机森林和gbdt结合_提升树模型:从提升树到GBDT树

807915f831a979d288d4482963c48bd2.png

一般来讲,提升方法实际采用加法模型与前向分步算法,以决策树为基函数的提升方法称为提升树。

提升树

提升树算法采用前向分布算法。

算法框架大致思想为:

1. 首先,确定初始提升树f~0~(x)=0,第m步的模型是:

df15b587e76634d09946bfcc6b8cdd81.png

2. 对于每一个步的模型,都是通过经验风险最小化确定模型的参数:

048461c4624c1c5665ff967f1c6f1b00.png

其中:

回归问题 ,使用平方差损失函数

分类问题,使用指数损失函数

一般决策问题,一般损失函数

回归问题的提升树算法流程

假设训练集为T,训练得到提升树为

(1) 初始化

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

  • (i) 计算残差:

e2581d26b2906d1c5163a48ac76ef45c.png
  • (ii) 拟合残差
    学习一个回归树,得到
这里的拟合残差过程,利用一个CART树来进行回归学习的过程,只不过这里回归的目标不再是原来的标签,而是上个树模型回归后的残差。(比如,回归年龄50岁,上个树回归预测23岁,那么这次的残差就是50-23=27岁,回归的过程参考CART)
  • (iii)更新以下提升树:

f206f290fdbf58ea95297dc4b192a68b.png

(3)得到回归树:

a011d5c645754722a7e93fe6141ca8db.png

GBDT树

在提升树算法中,当损失函数是平方损失和指数损失函数时,每一步的优化都比较简单,但对于一般损失函数而言,就不容易处理。 因此,GBDT首先使用最速下降的近似方法来计算残差的近似值:

e7ba842a81dfbe82a4520e032bf31376.png

参考博客:子龙风已经总结的十分好了,在这里就不重复书写。

7380727509677303219f366ce76fa0db.png

GDBT正则化:

  • 第一种是和Adaboost类似的正则化项,即使用步长(learning rate),定义为 α

6443fd90251344f87bd0cad665e4c67a.png
  • 子采样比例(subsample),取值为(0,1]。注意这里的子采样和随机森林不一样,随机森林使用的是放回抽样,而这里是不放回抽样。如果取值为1,则全部样本都使用,等于没有使用子采样。如果取值小于1,则只有一部分样本会去做GBDT的决策树拟合。选择小于1的比例可以减少方差,即防止过拟合,但是会增加样本拟合的偏差,因此取值不能太低。推荐在[0.5, 0.8]之间。 使用了子采样的GBDT有时也称作随机梯度提升树(Stochastic Gradient Boosting Tree, SGBT)。由于使用了子采样,程序可以通过采样分发到不同的任务去做boosting的迭代过程,最后形成新树,从而减少弱学习器难以并行学习的弱点。
  • Regularized Learning Objective,将树模型的复杂度作为正则项显式地加进优化目标里
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值