GBDT 算法中构建第一个弱学习器(CART 回归树)-计算示例

这张图是 GBDT 算法中**构建第一个弱学习器(CART 回归树)**的完整计算过程,我用通俗的例子和数值拆解来一步步解释:


一、先明确初始状态

我们有 10 个样本,每个样本的目标值是真实标签(比如学生的考试分数),初始时模型的预测值是所有目标值的平均值(因为平方损失下,均值是最优初始预测)。

样本序号 (x)12345678910
目标值(真实分)5.565.705.916.406.807.058.908.709.009.05
初始预测值(均值)7.317.317.317.317.317.317.317.317.317.31
负梯度(残差 = 真实值 - 预测值)-1.75-1.61-1.40-0.91-0.51-0.261.591.391.691.74
  • 初始预测值 7.31 是所有目标值的平均值:
    [
    \frac{5.56+5.70+5.91+6.40+6.80+7.05+8.90+8.70+9.00+9.05}{10} = 7.31
    ]
  • 负梯度(残差)反映了初始预测的错误:负的残差表示“预测值偏高”,正的残差表示“预测值偏低”。

二、构建第一个弱学习器:找最优切分点

我们的目标是训练一个 CART 回归树,让它拟合这些残差(负梯度)。CART 树的核心是找到一个切分点,把样本分成两组,让两组内的残差波动最小(平方损失最小)

1. 切分点的选择

我们遍历所有可能的切分点(图里是 1.5, 2.5, ..., 9.5,对应样本序号的中间值),对每个切分点计算平方损失:

  • 切分点 1.5:把第 1 个样本和第 2-10 个样本分成两组。

    • 左子树(第 1 个样本):残差 -1.75 → 子树均值 -1.75
    • 右子树(第 2-10 个样本):残差 -1.61, -1.40, -0.91, -0.51, -0.26, 1.59, 1.39, 1.69, 1.74 → 子树均值 0.19
    • 平方损失:左子树损失为 0(只有一个样本,无波动),右子树损失为 15.72 → 总损失 15.72
  • 切分点 6.5:把第 1-6 个样本和第 7-10 个样本分成两组。

    • 左子树(第 1-6 个样本):残差 -1.75, -1.61, -1.40, -0.91, -0.51, -0.26 → 子树均值 -1.07
    • 右子树(第 7-10 个样本):残差 1.59, 1.39, 1.69, 1.74 → 子树均值 1.60
    • 平方损失:左子树损失 1.85 + 右子树损失 0.07 → 总损失 1.93(所有切分点中最小)
2. 最优切分点的结论

对比所有切分点的平方损失,6.5 对应的损失最小(1.93),因此我们选择 6.5 作为第一个弱学习器的切分点,构建出一棵简单的二叉树:

  • 左子叶(x ≤ 6.5):输出 -1.07(前 6 个样本的残差均值)
  • 右子叶(x > 6.5):输出 1.60(后 4 个样本的残差均值)

三、这个弱学习器的作用

这个决策树的输出是残差的修正值,它告诉我们:

  • 对于前 6 个样本(残差为负,预测值偏高),需要在初始预测值 7.31减去 1.07(即 7.31 - 1.07 = 6.24),让预测更接近真实值。
  • 对于后 4 个样本(残差为正,预测值偏低),需要在初始预测值 7.31加上 1.60(即 7.31 + 1.60 = 8.91),让预测更接近真实值。

叠加这个修正后,新的预测值会比初始预测更准确,这就是 GBDT“迭代修正错误”的核心逻辑。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

week_泽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值