梯度提升(Gradient Boosting)算法

本文介绍了梯度提升(Gradient Boosting)算法的原理,包括梯度下降法、梯度提升算法及其与梯度下降的区别。GBDT(梯度提升决策树)是梯度提升的一种应用,利用损失函数的负梯度信息训练弱分类器并逐步改进模型。文章还探讨了GBDT与XGBoost的关系,并讨论了梯度提升算法在面对不同损失函数时的适用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 引言

提升树利用加法模型与前向分歩算法实现学习的优化过程。当损失函数是平方误差损失函数和指数损失函数时,每一步优化是很简单的。但对一般损失函数而言,往往每一步优化并不那么容易。针对这一问题,Freidman提出了梯度提升(gradient boosting)算法。Gradient Boosting是Boosting中的一大类算法,它的思想借鉴于梯度下降法,其基本原理是根据当前模型损失函数的负梯度信息来训练新加入的弱分类器,然后将训练好的弱分类器以累加的形式结合到现有模型中。采用决策树作为弱分类器的Gradient Boosting算法被称为GBDT,有时又被称为MART(Multiple Additive Regression Tree)。GBDT中使用的决策树通常为CART。

2. 梯度下降法

在机器学习任务中,需要最小化损失函数 L ( θ ) L(\theta) L(θ),其中 θ \theta θ 是要求解的模型参数。梯度下降法通常用来求解这种无约束最优化问题,它是一种迭代方法:选取初值 θ 0 \theta_{0} θ0 ,不断迭代,更新 θ \theta θ 的值,进行损失函数的极小化。这里我们还需要初始化算法终止距离 ε \varepsilon ε 以及步长 α \alpha α
使用梯度下降法求解的基本步骤为:
(1)确定当前位置的损失函数的梯度,对于 θ t \theta_{t} θt ,其梯度表达式如下: δ L ( θ ) δ θ t \frac{\delta L(\theta) }{\delta \theta_{t}} δθtδL(θ)
(2)用步长 α \alpha α 乘以损失函数的梯度,得到当前位置下降的距离,即: α ∗ δ L ( θ ) δ θ t \alpha \ast\frac{\delta L(\theta) }{\delta \theta_{t}} αδθtδL(θ)
(3)确定是否 θ t \theta_{t} θt 梯度下降的距离小于 ε \varepsilon ε ,如果小于 ε \varepsilon ε 则算法终止,当前的 θ t \theta_{t} θt即为最终结果。否则进入步骤(4)。
(4)更新 θ t \theta_{t} θt ,其更新表达式如下。更新完毕后继续转入步骤(1)。
θ t = θ t − α ∗ L ( θ ) δ θ t \theta_{t} = \theta_{t} - \alpha * \frac{L(\theta) }{\delta \theta_{t}} θt=θtαδθtL(θ)
我们也可以用泰勒公式表示损失函数,用更数学的方式解释梯度下降法:

  • 迭代公式: θ t = θ t − 1 + Δ θ \theta_{t} = \theta_{t-1} + \Delta\theta θt=θt1+Δθ
  • L ( θ t ) L(\theta_{t}) L(θt) θ t − 1 \theta_{t-1} θt1 处进行一阶泰勒展开:
    L ( θ t ) = L ( θ t − 1 + Δ θ ) ≈ L ( θ t − 1 ) + L ′ ( θ t − 1 ) Δ θ \begin{aligned} L(\theta_{t})& = L(\theta_{t-1} + \Delta\theta) \\ & \approx L(\theta_{t-1}) + L^{'}(\theta_{t-1})\Delta\theta \end{aligned} L(θt)=L(θt1+Δθ)L(θt1)+L(θt1)Δθ
  • 要使得 L ( θ t ) < L ( θ t − 1 ) L(\theta_{t})<L(\theta_{t-1}) L(θt)<L(θ
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值