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

梯度提升树算法怎么用(梯度提升树算法怎么用的)



提升树是以分类树和回归树为基本分类器的提升方法。提升树被认为是统计学习中性能最好的方法之一。

提升方法实际采用加法模型(即基函数的线性组合)与前向分布算法。以决策树为基函数的提升方法称为提升树(boosting tree)。

  1. 提升树模型可以表示为决策树的加法模型

梯度提升树GBDT 梯度提升树分类算法_决策树

其中, (T(x; Theta_m)) 表示决策树;(Theta_m) 为决策树的参数;(M)

  1. 提升树算法采用前向分布算法

首先确定初始提升树 (f_0(x) = 0) ,第 (m)

梯度提升树GBDT 梯度提升树分类算法_拟合_02

其中,(f_{m-1}(x)) 为当前模型,通过经验风险极小化确定下一棵决策树的参数 (Theta_m)

梯度提升树GBDT 梯度提升树分类算法_梯度提升树GBDT_03

不同问题的梯度提升树学习算法,其主要区别在于使用的损失函数不同。

  1. 用平方误差损失函数的回归问题;
  2. 用指数损失函数的分类问题;
  3. 一般损失函数的一般决策问题。

梯度提升模型的求解过程是梯度下降在函数空间的优化过程。

残差是负梯度在损失函数为平方误差时的特殊情况。

  1. 我们希望找到一个 (f(x)) 使得 (L(y, f(x))) 最小,当前我们得到 (f_{m-1}(x)),如果想得到更优的 (f(x)),根据梯度下降法进行迭代,(f(x)) 就得沿着使损失函数 (L)

梯度提升树GBDT 梯度提升树分类算法_损失函数_04

其中,(eta) 为学习率,(frac{partial{L(y, f_{m-1}(x))}}{partial{f_{m-1}(x)}}) 为损失函数 (L) 对未知函数的偏导 (frac{partial{L(y, f(x))}}{partial{f(x)}}) 在 (f_{m-1}(x))

同时,最新学习器是由当前学习器 (f_{m-1}(x)) 与本次要生成的回归树 (T_m(x))

梯度提升树GBDT 梯度提升树分类算法_梯度提升树GBDT_05

因此,为了让损失函数减小,根据式(1)和(2)知,可以取

梯度提升树GBDT 梯度提升树分类算法_梯度提升树GBDT_06

因此,我们可以使用损失函数对 (f(x)) 的负梯度 $$- frac{partial{L(y, f_{m-1}(x))}}{partial{f_{m-1}(x)}}$$ 来拟合新的回归树 (T_m(x)).

  1. 当损失函数为平方损失时,即

梯度提升树GBDT 梯度提升树分类算法_拟合_07

损失函数的负梯度为

梯度提升树GBDT 梯度提升树分类算法_损失函数_08

这里, (y - f_{m-1}(x))

最后,准确的说,不是负梯度代替残差,而是损失函数是平方损失时,负梯度刚好是残差,残差只是特例。

  1. 《统计学习方法》 李航
  2. 《GBDT算法原理与系统设计简介》 wepon
到此这篇梯度提升树算法怎么用(梯度提升树算法怎么用的)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 梯度提升算法的理解(梯度提升和梯度下降的区别)2025-08-01 16:36:04
  • 梯度提升树回归模型怎么做(梯度提升树回归模型怎么做的)2025-08-01 16:36:04
  • 梯度提升树(梯度提升树和随机森林)2025-08-01 16:36:04
  • 梯度提升和梯度下降的区别(梯度下降和梯度上升的区别)2025-08-01 16:36:04
  • 梯度提升树和随机森林的区别(梯度提升树和随机森林的区别和联系)2025-08-01 16:36:04
  • 梯度提升树回归(使用梯度下降方法实现线性回归算法)2025-08-01 16:36:04
  • 梯度提升数(梯度提升树分类算法)2025-08-01 16:36:04
  • 梯度提升树(梯度提升树回归)2025-08-01 16:36:04
  • 梯度提升树模型(梯度提升树原理)2025-08-01 16:36:04
  • 梯度提升决策树原理(梯度提升树算法)2025-08-01 16:36:04
  • 全屏图片