为什么梯度的负方向是梯度下降最快的方向

梯度与导数的关系

梯度方向指向数值增长最快的方向,大小为变化率。通过这个性质也说明梯度是有方向和大小的矢量。通过梯度的定义我们发现,梯度的求解其实就是求函数偏导的问题,而我们高中所学的导数在非严格意义上来说也就是一元的“偏导”。通过这一点我们自然而然地想到梯度应该是导数向更高维数的推广。换句话说,梯度是矢量,而某点的导数是个常量。

梯度下降算法

如果函数 f ( θ ) f(\theta ) f(θ)是凸函数,那么就可以使用梯度下降算法进行优化。梯度下降算法的公式:
θ = θ 0 − η ⋅ ▽ f ( θ ) \theta = \theta_0 - \eta \cdot \bigtriangledown f(\theta ) θ=θ0ηf(θ)
θ 0 \theta_0 θ0是更新前的 θ \theta θ η \eta η是学习因子,即步进长度; ▽ f ( θ ) \bigtriangledown f(\theta ) f(θ)是方向。

梯度方向是上升方向

在这里插入图片描述
这个示例函数是 f ( x ) = ( x − 2 ) 2 + 2 f(x)=(x-2)^2+2 f(x)=(x2)2+2
在(1,3)位置的梯度为-2<0,梯度方向为x轴的负方向,上升
在(3,3)位置的梯度为2>0,梯度方向为x轴正方向,上升
定义解释:
设f(x)有一阶导: f ( x + Δ x ) − f ( x ) Δ x ≈ f ′ ( x ) \frac{f(x+\Delta x)-f(x)}{\Delta x}\approx f'(x) Δxf(x+Δx)f(x)f(x)
如果f′(x)>0,在Δx邻域半径内单调上升,梯度方向取x的正方向,函数梯度上升。
如果f′(x)<0,在Δx邻域半径内单调下降,梯度方向取x的负方向,函数梯度上升。
梯度方向是上升方向,目标函数大多是loss函数,基本都是求最小值,那么就是就1取梯度的负方向。

一阶泰勒展开式与负梯度

梯度下降算法的推导如下:
在这里插入图片描述
其中, θ − θ 0 \theta-\theta_0 θθ0是微小矢量,它的大小就是我们之前讲的步进长度 η \eta η η \eta η为标量,而 θ − θ 0 \theta-\theta_0 θθ0的单位向量用v表示。则 θ − θ 0 \theta-\theta_0 θθ0可表示为: θ − θ 0 = η v \theta-\theta_0=\eta v θθ0=ηv
特别需要注意的是, θ − θ 0 \theta-\theta_0 θθ0不能太大,因为太大的话,线性近似就不够准确,一阶泰勒近似也不成立了。替换之后, f ( θ ) f(\theta ) f(θ)的表达式为:
f ( θ ) ≈ f ( θ 0 ) + η v ⋅ ▽ f ( θ ) f(\theta )\approx f(\theta_0 )+\eta v \cdot \bigtriangledown f(\theta ) f(θ)f(θ0)+ηvf(θ)
局部下降的目的是希望每次 θ \theta θ更新,都能让函数值 f ( θ ) f(\theta ) f(θ)变小。也就是说,上式中,我们希望 f ( θ ) < f ( θ 0 ) f(\theta )<f(\theta _0) f(θ)<f(θ0)。则有:
f ( θ ) − f ( θ 0 ) ≈ η v ⋅ ▽ f ( θ ) < 0 f(\theta ) - f(\theta_0 )\approx \eta v \cdot \bigtriangledown f(\theta )<0 f(θ)f(θ0)ηvf(θ)<0
因为 η \eta η为标量,且一般设定为正值,所以可以忽略,不等式变成了: η v ⋅ ▽ f ( θ ) < 0 \eta v \cdot \bigtriangledown f(\theta )<0 ηvf(θ)<0
v v v ▽ f ( θ ) \bigtriangledown f(\theta ) f(θ)都是向量, ▽ f ( θ ) \bigtriangledown f(\theta ) f(θ)是当前位置的梯度方向, v v v表示下一步前进的单位向量。
假设AB均为向量, α \alpha α为两个向量之间的夹角。A和B的乘积为:
A ⋅ B = ∥ A ∥ ⋅ ∥ B ∥ ⋅ c o s ( α ) A\cdot B=\left \| A \right \| \cdot \left \| B \right \|\cdot cos(\alpha ) AB=ABcos(α)
∥ A ∥ \left \| A \right \| A ∥ B ∥ \left \| B \right \| B 均为标量,在 ∥ A ∥ \left \| A \right \| A ∥ B ∥ \left \| B \right \| B确定的情况下,只要 c o s ( α ) = − 1 cos(\alpha )=-1 cos(α)=1,即A和B完全反向,就能让A和B的向量乘积最小(负最大值)。即,当 v v v ▽ f ( θ ) \bigtriangledown f(\theta ) f(θ)互为反向,即 v v v为当前梯度方向的负方向的时候,能让 v ⋅ ▽ f ( θ ) v \cdot \bigtriangledown f(\theta ) vf(θ)最大程度地小,也就保证了 v v v的方向是局部下降最快的方向。

  • 12
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值