GBDT原理

概述

GBDT全称Gradient Boosting Decision Tree,梯度提升决策树,要理解GBDT的原理,首先理解一下GBDT中的Gradient Boosting 和Decision Tree

  • Decision Tree(决策树)
    GBDT不论分类还是回归问题,使用的都是CART决策树,因为GBDT要拟合负梯度值,负梯度的值是连续的,所以选择回归

  • Gradient Boosting(梯度提升)

  • 提升树
    提升树算法目的就是拟合残差
    验证:

  1. 假设我们前一轮迭代得到的学习器是:ft-1(x)
  2. 损失函数L(y,ft-1(x))
  3. 本轮迭代找到一个弱学习器ht(x)
  4. 最小化让本轮的损失L(y,ft(x))=L(y,ft-1(x),ht(x))
  5. 用平方损失函数
    在这里插入图片描述
    r=y-ft-1(x)是当前模型拟合数据的残差
    结论:
    对于提升树来说只需要简单地拟合当前模型的残差

    1.负梯度
  • 第t轮的第i个样本的损失函数的负梯度为:
    在这里插入图片描述

  • 平方损失为:
    y表示真实值,f(x)表示预测值
    在这里插入图片描述

  • 负梯度(求导):
    在这里插入图片描述

我们发现GBDT的负梯度就是残差,所以说对于回归问题,我们要拟合的就是残差

GBDT算法原理
  • 初始化若学习器
    在这里插入图片描述
  • 迭代n=1,2,3…
  1. 对每个样本i=1,2,…,N,计算负梯度,即残差
    在这里插入图片描述

  2. 将上步得到的残差作为样本新的真实值,并将数据作为下棵树的训练数据,得到一颗新的回归树fm (x),)其对应的叶子节点区域为Rjm j=1,2,…,J。其中J为回归树t的叶子节点的个数

  3. 对叶子区域j=1,2,…J计算最佳拟合值
    在这里插入图片描述

  4. 更新强学习器
    在这里插入图片描述

  5. 得到最终学习器
    在这里插入图片描述

开始训练
  1. 初始化弱学习器:
    在这里插入图片描述
  • 损失函数为平方损失,因为平方损失函数是一个凸函数,直接求导,倒数等于零,得到c作为预测值,后边迭代计算方法一样
    在这里插入图片描述

  • 令导数等于0
    在这里插入图片描述

  • 所以初始化时,c取值为所有训练样本标签值的均值

  1. 对迭代轮数m=1,2,…,M:
  • 计算负梯度
    在这里插入图片描述

  • 得到最后的强学习器:
    在这里插入图片描述

  • .预测样本
    GBDT需要将多棵树的得分累加得到最终的预测值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值