GBDT(Gradient Boosting Decision Tree)

GBDT(Gradient Boosting Decision Tree)

1.提升树

提升树模型的基分类器为决策树,每次训练的结果影响下一次训练的决策树。我们这里只谈回归问题,训练的结果为M个决策树相加。对于二分类问题只需把AdaBoost算法的基分类器换为决策树。

用前向分步模型表示

fm(x)=fm1(x)+T(x;θm)

其中
T(xi;θm)=j=1JcjI(xiRj)

T(xi;θm) 为回归决策树,它将特征空间分割J个区域,每个区域表示为 Rj ,每个区域设定一个值 cj ,当 xiRj 时 决策树的输出为 cj

当使用平均方差损失函数时

L(yi,fm(xi))=12(yifm1(xi)T(xi;θm))2=12(rmiT(xi;θm))2=L(rmi,T(xi;θm))

rmi 是当前模型 fm1(x) 的残差 yifm1(xi) 。因此我们可以用当前模型的残差去拟合下一颗决策树。

2.梯度提升

当损失函数不是平均方差时,用损失函数的负梯度近似去代替当前模型的残差

[L(yi,f(x))f(x)]f(x)=fm1(x)

算法:

  1. 初始化 f0(x)=argmincNi=1L(yic)

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

    a 对于 i = 1,.., N 计算

    rmi=[L(yi,f(x))f(x)]f(x)=fm1(x)

    b 对 rm 拟合一颗回归树,得到第m颗树的叶结点区域 Rmj ,j=1,2,..,J

    c 对 j=1,2,,…J 计算

    cmj=argmincxiRmjL(yi,fm1(x)+c)

    d 更新 fm(x)=fm1(x)+jj=1cmjI(xRmj)

  3. 得到提升数 fM(x) .

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值