Processing math: 73%

为什么梯度的反方向是函数下降最快的方向?

  数学 数值计算 最优化    浏览次数:8453        分享
9

梯度下降法是用梯度的反方向作为下降方向,那么为什么函数在梯度的反方向上下降是最快的呢?

 

niiii   2018-08-15 10:42



   4个回答 
25

先以一个二元函数为例,f(x,y)

我们知道梯度是函数在各坐标轴方向上的变化率,比如梯度f(x0,y0)是函数在(x0,y0)上关于x轴和y轴的变化率

f(x,y)=(fx(x,y)fy(x,y))

对于一个任意单位方向u,假设αux轴的夹角,那么函数f(x,y)u这个方向上的变化率为

fx(x,y)cosα+fy(x,y)sinα=f(x,y)T(fx(x,y)fy(x,y))=f(x,y)Tu

也就是两个向量的点积。我们知道向量点积的结果和向量本身的大小以及两者夹角相关,假设f(x,y)u的夹角为θ,那么函数f(x,y)u这个方向上的变化率可以写成

f(x,y)Tu=f(x,y)2u2cosθ=f(x,y)2cosθ

cosθ的取值范围为[1,1]。当cosθ=1时,函数变化率最大(上升最快),此时u和梯度f(x,y)同方向;当cosθ=1时,函数变化率最小(下降最快),此时u是梯度f(x,y)的反方向。


推广到n元函数,函数f在单位方向u的变化率为

fTu

假设f(x,y)u的夹角为θ,同样函数fu这个方向上的变化率可以写成

fTu=f2u2cosθ=f2cosθ

变化率由cosθ决定。u和梯度f(x,y)同方向,上升最快;u和梯度f(x,y)反方向,下降最快。


SofaSofa数据科学社区DS面试题库 DS面经

u_u   2018-08-22 01:59

醍醐灌顶,茅塞顿开! - robin_he   2019-05-09 05:45
赞! - zzzz   2019-09-07 15:22
7

假设v为任意方向的单位向量,f(x)x可导,沿v方向导数

vf(x)=lim

\theta\nabla f(x)v夹角。左边表示当x变化hv时,f(x+hv)-f(x)的变化量,它等于梯度\nabla f(x)v的内积。当二者方向相反时, \theta=\pi,此时f(x)改变的绝对值最大。

也可以从泰勒级数展开来看f(x+\delta v)=f(x)+\delta \nabla f(x) \cdot v+\cdots , \delta是很小的步长。第二项就是一阶增量,正比于方向导数。

SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2019-05-09 13:04

嗯,有道理 - x1y7o   2020-04-15 09:09
这个证明很简洁 - 莱莱0915   2022-04-05 20:46
6

因为这个时候cos\theta=-1,最小。

\theta是梯度和\Delta x之间的夹角

SofaSofa数据科学社区DS面试题库 DS面经

nobodyoo1   2018-08-16 00:37

4
梯度即在局域内导数取最大值的方向,因此梯度的方向也是函数最快增大的方向,而梯度的反方向也就是函数下降的最快的方向SofaSofa数据科学社区DS面试题库 DS面经

jing   2018-08-16 09:03



  相关讨论

用SGD时陷入局部最优解的解决方法

随机平均梯度法(Stochasitc Average Gradient)和随机梯度下降(SGD)有什么区别

牛顿法到底是一阶优化算法还是二阶优化算法?

nesterov’s momentum和momentum的区别?

Adam优化算法

学习率不当会导致sgd不收敛吗?

最速下降法与梯度下降法

RMSProp的直白解释

随机梯度下降(sgd)的收敛问题

对于小批量随机剃度下降法(mini-batch SGD),如何选择每批样本的数量?

  随便看看

对连续特征一定要进行分箱处理吗?

spark里怎么refresh表?

用户人群分层分析的RFM模型是什么?

在使用PCA降维时,有哪些坑?

模型调参时常用到的Grid Search是什么意思?