当前位置:网站首页 > 职业技能提升 > 正文

梯度提升树原理(梯度提升算法原理)



视频详解:

GBDT(Gradient Boosting Decision Tree),全名叫梯度提升决策树,是一种迭代的决策树算法,又叫 MART(Multiple Additive Regression Tree),它通过构造一组弱的学习器(树),并把多颗决策树的结果累加起来作为最终的预测输出。该算法将决策树与集成思想进行了有效的结合。

GBDT中的树是回归树(不是分类树),GBDT用来做回归预测,调整后也可以用于分类。

1.1 应用场景

Boosting方法训练基分类器时采用串行的方式,各个基分类器之间有依赖。它的基本思路是将基分类器层层叠加,每一层在训练的时候,对前一层基分类器分错的样本,给予更高的权重。测试时,根据各层分类器的结果的加权得到最终结果。

Bagging 与 Boosting 的串行训练方式不同,Bagging 方法在训练过程中,各基分类器之间无强依赖,可以进行并行训练。

2、GBDT详解

如图是一个非常简单的帮助理解的示例,我们用 GBDT 去预测年龄:

最终,四棵树的结论加起来,得到30岁这个标注答案(实际工程实现里,GBDT 是计算负梯度,用负梯度近似残差)

1、GBDT与负梯度近似残差

回归任务下,GBDT在每一轮的迭代时对每个样本都会有一个预测值,此时的损失函数为均方差损失函数:

损失函数的负梯度计算如下:

可以看出,当损失函数选用「均方误差损失」时,每一次拟合的值就是(真实值-预测值),即残差。

我们来借助1个简单的例子理解一下 GBDT 的训练过程。假定训练集只有4个人(A、B、C、D),他们的年龄分别是(14,16,24,26)。其中,A、B分别是高一和高三学生;C、D分别是应届毕业生和工作两年的员工。

我们先看看用回归树来训练,得到的结果如下图所示:

接下来改用 GBDT 来训练。由于样本数据少,我们限定叶子节点最多为2(即每棵树都只有一个分枝),并且限定树的棵树为2。 最终训练得到的结果如下图所示:

上图中的树很好理解:A、B年龄较为相近,C、D年龄较为相近,被分为左右两支,每支用平均年龄作为预测值。

上图中的树就是残差学习的过程了:

最终的预测过程是这样的:

综上,GBDT 需要将多棵树的得分累加得到最终的预测得分,且每轮迭代,都是在现有树的基础上,增加一棵新的树去拟合前面树的预测值与真实值之间的残差。

下面我们来对比一下「梯度提升」与「梯度下降」。这两种迭代优化算法,都是在每1轮迭代中,利用损失函数负梯度方向的信息,更新当前模型,只不过:

3.GBDT优缺点

到此这篇梯度提升树原理(梯度提升算法原理)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 梯度提升决策树原理(梯度提升树算法)2025-01-14 13:27:05
  • 梯度提升树名词解释(梯度提升树名词解释是什么)2025-01-14 13:27:05
  • 梯度提升树模型(梯度提升树模型和神经网络哪个更适合心血管疾病预测)2025-01-14 13:27:05
  • 梯度提升和梯度下降(梯度提升和梯度下降的区别)2025-01-14 13:27:05
  • 梯度提升算法(梯度提升算法有哪些)2025-01-14 13:27:05
  • 梯度提升树和随机森林(梯度提升树和随机森林哪个好)2025-01-14 13:27:05
  • 梯度提升树原理(梯度提升和梯度下降的区别)2025-01-14 13:27:05
  • 美国第十次加息 正面临史上最严重的债务危机 经济形势堪忧2025-01-14 13:27:05
  • 梯度提升树优缺点(梯度提升决策树简介)2025-01-14 13:27:05
  • 梯度提升决策树原理(梯度提升决策树简介)2025-01-14 13:27:05
  • 全屏图片