梯度提升与梯度下降

您所在的位置:网站首页 下降率与下降梯度 梯度提升与梯度下降

梯度提升与梯度下降

2024-06-28 22:57:47| 来源: 网络整理| 查看: 265

梯度提升与梯度下降 梯度是什么梯度是谁的梯度下降梯度提升总结

梯度是什么

  “梯度提升”与“梯度下降”中的“梯度”是什么?梯度是损失函数对需要求解的模型参数的导数。梯度方向是参数导数中绝对值最大的方向,因此梯度方向有两个,一个是梯度最大方向,另一个是梯度最小方向。

梯度是谁的

  “梯度”是目标函数在当前点的梯度(不是参数的梯度),因此有了目标函数、样本点,才会有梯度。

梯度下降

  在参数空间中,梯度下降是指目标函数在当前点的取值下降(最小化目标函数),参数自身沿着负梯度的方向下降。因此梯度下降,是目标函数对最优参数的搜索,其变量是参数。   梯度下降通常用来求解这种无约束最优化问题,它是一种迭代方法:初选取参数初值(还包括算法终止距离参数和学习率参数),不断迭代,更新参数的值,进行损失函数的最小化。   为什么梯度的负方向是函数局部下降最快的方向?下面开始证明。   假设迭代公式为: θ t = θ t − 1 + Δ θ \theta_{t}=\theta_{t-1}+\Delta \theta θt​=θt−1​+Δθ,将 L ( θ t ) L\left(\theta_{t}\right) L(θt​)在 θ t − 1 \theta_{t-1} θt−1​处进行泰勒展开: L ( θ t ) = L ( θ t − 1 + Δ θ )   ≈ L ( θ t − 1 ) + L ′ ( θ t − 1 ) Δ θ \begin{aligned} L\left(\theta_{t}\right) &=L\left(\theta_{t-1}+\Delta \theta\right) \ \approx L\left(\theta_{t-1}\right)+L^{\prime}\left(\theta_{t-1}\right) \Delta \theta \end{aligned} L(θt​)​=L(θt−1​+Δθ) ≈L(θt−1​)+L′(θt−1​)Δθ​   故: L ( θ t − 1 + Δ θ ) − L ( θ t − 1 ) ≈ L ′ ( θ t − 1 ) Δ θ L\left(\theta_{t-1}+\Delta \theta\right)-L\left(\theta_{t-1}\right) \approx L^{\prime}\left(\theta_{t-1}\right) \Delta \theta L(θt−1​+Δθ)−L(θt−1​)≈L′(θt−1​)Δθ   则 L ′ ( θ t − 1 ) Δ θ L^{\prime}\left(\theta_{t-1}\right) \Delta \theta L′(θt−1​)Δθ是函数值的变化量,因为 L ′ ( θ t − 1 ) 和 Δ θ L^{\prime}\left(\theta_{t-1}\right)和 \Delta \theta L′(θt−1​)和Δθ均为向量,因此 L ′ ( θ t − 1 ) Δ θ L^{\prime}\left(\theta_{t-1}\right) \Delta \theta L′(θt−1​)Δθ是两个向量进行点积,而向量进行点积绝对值最大时,是两者共线的时候。故 L ′ ( θ t − 1 ) 和 Δ θ L^{\prime}\left(\theta_{t-1}\right)和 \Delta \theta L′(θt−1​)和Δθ方向相同,点积正方向最大;若 L ′ ( θ t − 1 ) 和 Δ θ L^{\prime}\left(\theta_{t-1}\right)和 \Delta \theta L′(θt−1​)和Δθ反向,点积负方向最大。   因此,梯度的负方向是局部下降最快的方向,反之,梯度(正)方向是函数局部上升最快的方向。 所以, Δ θ = − α L ′ ( θ t − 1 ) \Delta \theta=-\alpha L^{\prime}\left(\theta_{t-1}\right) Δθ=−αL′(θt−1​),此时 α \alpha α是学习率(也称为步长)。 对于最终的最优解 θ ∗ \theta^{*} θ∗, θ ∗ = ∑ t = 0 T α t ∗ [ − δ L ( θ ) δ θ ] θ = θ t − 1 \theta^{*}=\sum_{t=0}^{T} \alpha_{t} *\left[-\frac{\delta L(\theta)}{\delta \theta}\right]_{\theta=\theta_{t-1}} θ∗=∑t=0T​αt​∗[−δθδL(θ)​]θ=θt−1​​。

梯度提升

  在函数空间中,可以借鉴梯度下降的思想,进行最优函数的搜索。梯度提升实际仍是指对于模型的目标函数在当前点的取值提升(有说梯度提升仅指GBDT,对“新函数求导”,让“新函数”沿着梯度方向变化)。   同样, f t ( x ) = − α t g t ( x ) = − α t ∗ [ δ L ( y , F ( x ) ) δ F ( x ) ] F ( x ) = F t − 1 ( x ) f_{t}(x)=-\alpha_{t} g_{t}(x)=-\alpha_{t} *\left[\frac{\delta L(y, F(x))}{\delta F(x)}\right]_{F(x)=F_{t-1}(x)} ft​(x)=−αt​gt​(x)=−αt​∗[δF(x)δL(y,F(x))​]F(x)=Ft−1​(x)​。   可以看出,这个梯度变量是一个函数,通过当前函数的负梯度方向来更新函数以修正模型,是模型更优,最后累加(加法模型)的模型为近似最优函数。

  梯度提升原理:   假设已经有T(0≤t≤T)个不完美的模型 F t − 1 F_{t-1} Ft−1​。梯度提升算法不改变 F t − 1 F_{t-1} Ft−1​,而是通过增加估计其f构建新的模型 F t ( x ) = F t − 1 ( x ) + f ( x ) F_{t}(x) = F_{t-1}(x)+f(x) Ft​(x)=Ft−1​(x)+f(x)来提高整体模型的效果。如何找到最优的f(x)呢?最好的f(x)应该使得 F t ( x ) = F t − 1 ( x ) + f ( x ) = y F_{t}(x)=F_{t-1}(x)+f(x)=y Ft​(x)=Ft−1​(x)+f(x)=y,或者等价于 f ( x ) = y − F t − 1 ( x ) f(x)=y-F_{t-1}(x) f(x)=y−Ft−1​(x)。   因此梯度提升算法是将 f f f与残差 y − F t − 1 ( x ) y-F_{t-1}(x) y−Ft−1​(x)拟合。可以观察到,残差 y − F t − 1 ( x ) y-F_{t-1}(x) y−Ft−1​(x)是损失函数 1 / 2 ( y − F t − 1 ( x ) ) 2 1/2(y-F_{t-1}(x))^2 1/2(y−Ft−1​(x))2的负梯度方向,因此可以将其推广到其他不是平方误差(分类或者排序问题)的损失函数。也就是说,梯度提升算法实际上也是一种梯度下降算法,只需要更改损失函数和梯度就可以将其推广。   当采用平方误差损失函数时, L ( y , f ( x ) ) = ( y − f ( x ) ) 2 L(y, f(x))=(y-f(x))^{2} L(y,f(x))=(y−f(x))2,其损失函数变为: L ( y , f t ( x ) ) = L ( y , f t − 1 ( x ) + T ( x ; θ t ) ) = ( y − f t − 1 ( x ) − T ( x ; θ t ) ) 2 = ( r − T ( x ; θ t ) ) 2 \begin{array}{l} {L\left(y, f_{t}(x)\right)} \\ {=L\left(y, f_{t-1}(x)+T\left(x ; \theta_{t}\right)\right)} \\ {=\left(y-f_{t-1}(x)-T\left(x ; \theta_{t}\right)\right)^{2}} \\ {=\left(r-T\left(x ; \theta_{t}\right)\right)^{2}} \end{array} L(y,ft​(x))=L(y,ft−1​(x)+T(x;θt​))=(y−ft−1​(x)−T(x;θt​))2=(r−T(x;θt​))2​   其中 r − T ( x ; θ t ) {r-T\left(x ; \theta_{t}\right)} r−T(x;θt​)是当前模型拟合数据的残差。   在使用更一般的损失函数时,利用损失函数的负梯度在当前模型的值 − [ δ L ( y , F ( x ) ) δ F ( x ) ] F ( x ) = F t − 1 ( x ) -\left[\frac{\delta L(y, F(x))}{\delta F(x)}\right]_{F(x)=F_{t-1}(x)} −[δF(x)δL(y,F(x))​]F(x)=Ft−1​(x)​作为提升树算法中残差的近似值,拟合一个梯度提升模型。下面开始证明。   对函数 f ( x ) f(x) f(x)在 x = x t − 1 x=x_{t-1} x=xt−1​处的泰勒展开式为: f ( x ) ≈ f ( x t − 1 ) + f ′ ( x t − 1 ) ( x − x t − 1 ) f(x) \approx f(x_{t-1})+f^{\prime}(x_{t-1})(x-x_{t-1}) f(x)≈f(xt−1​)+f′(xt−1​)(x−xt−1​),因此,损失函数 L ( y , F ( x ) ) L(y,F(x)) L(y,F(x))在 F ( x ) = F t − 1 ( x ) F(x)=F_{t-1}(x) F(x)=Ft−1​(x)处的泰勒展开式为: L ( y , F ( x ) ) ≈ L ( y , F t − 1 ( x ) ) + [ δ L ( y , F ( x ) ) δ F ( x ) ] F ( x ) = F t − 1 ( x ) ( F ( x ) − F t − 1 ( x ) ) L(y, F(x)) \approx L(y, F_{t-1}(x))+\left[\frac{\delta L(y, F(x))}{\delta F(x)}\right]_{F(x)=F_{t-1}(x)}(F(x)-F_{t-1}(x)) L(y,F(x))≈L(y,Ft−1​(x))+[δF(x)δL(y,F(x))​]F(x)=Ft−1​(x)​(F(x)−Ft−1​(x))   将 F ( x ) = F t ( x ) F(x)=F_t(x) F(x)=Ft​(x)带入上式,可得: L ( y , F t ( x ) ) ≈ L ( y , F t − 1 ( x ) ) + [ δ L ( y , F ( x ) ) δ F ( x ) ] F ( x ) = F t − 1 ( x ) ( F t ( x ) − F t − 1 ( x ) ) L(y, F_{t}(x)) \approx L(y, F_{t-1}(x))+\left[\frac{\delta L(y, F(x))}{\delta F(x)}\right]_{F(x)=F_{t-1}(x)}(F_{t}(x)-F_{t-1}(x)) L(y,Ft​(x))≈L(y,Ft−1​(x))+[δF(x)δL(y,F(x))​]F(x)=Ft−1​(x)​(Ft​(x)−Ft−1​(x))   因此, − [ δ L ( y , F ( x ) ) δ F ( x ) ] F ( x ) = F t − 1 ( x ) -\left[\frac{\delta L(y, F(x))}{\delta F(x)}\right]_{F(x)=F_{t-1}(x)} −[δF(x)δL(y,F(x))​]F(x)=Ft−1​(x)​应该对应于平方误差损失函数中的 y − F t − 1 ( x ) y-F_{t-1}(x) y−Ft−1​(x),故对于平方损失函数拟合的是残差,对于一般损失函数,拟合的是残差的近似值。

总结

  1、参数与模型   梯度提升与梯度下降算法,都是指每一轮迭代中,利用目标函数相对于模型的负梯度方向的信息来对当前模型进行更新,只是在梯度下降中,函数是以参数化形式表示,参数的更新等价于模型的更新;而在梯度提升中,模型直接定义在函数空间中,函数的优化等价于模型的优化,大大扩展了可以使用的模型种类。   2、近似残差   在平方误差损失函数和指数损失函数中,损失函数的负梯度在当前模型的值作为梯度提升算法中的残差,而在其他一般损失函数中,残差 y − F t − 1 ( x ) y-F_{t-1}(x) y−Ft−1​(x)是目标函数 1 / 2 ( y − F t − 1 ( x ) ) 2 1/2(y-F_{t-1}(x))^2 1/2(y−Ft−1​(x))2的负梯度方向,因此可以将其推广到其他不是平方误差的目标函数。   梯度提升算法是一种梯度下降算法,不同之处在于更改损失函数和求其负梯度就能将其推广,即可以将结论推广为对于一般损失函数也可以利用损失函数的负梯度近似拟合残差。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭