如何简便理解梯度向量的计算公式?

什么是梯度向量

在定义域为n维的空间中,给定一个函数\(F: R^n \rightarrow R\),梯度向量这个向量为n-1维的向量,代表着函数\(F\)在某一点\(p\)\(p\)应该往哪个方向走,使得函数\(F\)的增长最快。即,那个方向,函数\(F\)的定义域内,从点\(p\)出发的那个向量,为梯度。

the vector points in the initial direction that takes the greatest increase on \(z\) value when \(x\) moves with this direction.

看一个例子

函数\(F=f(x,y)\)\((x,y)\)的关系如下:


假设我们需要计算函数\(F\)在点\((3,5)\)的梯度\(\nabla F(3,5)\),我们可以这样算:
首先计算该点在\(x\)方向上,附近的值的变化情况,计算过程如下:

\[\begin{align} \nabla F(x,5) &= \frac{ \frac{F(3,5)-F(2,5)}{3-2} + \frac{F(4,5)-F(3,5)}{4-3}}{2}=-3\\ \nabla F(3,y) &= \frac{ \frac{F(3,5)-F(3,4)}{5-4} + \frac{F(3,6)-F(3,5)}{6-5}}{2}=4 \end{align} \]

上面第一个式子的值说明:在点\((3,5)\)附近,\(x\)方向的增长率为-3,即减少的幅度为3.
上面第二个式子的值说明:在点\((3,5)\)附近,\(y\)方向的增长率为4.
那么,从x方向来说,我只有两个移动方向,要么向左,要么向右,很明显,如果想增加函数的值,那么只能向左,那么-3的这个‘-’号,是否可以理解为方向,即与x轴的方向相反?,-3是否可以理解为梯度向量(虽然这个向量只有一个维度,但是其有方向,正负号表示方向),表示:\(x\)方向上,要想函数值增加,只能向着x轴的反方向走,如果向着x轴的反方向走,那么增长幅度为3?我认为是可以的,同样的\(y\)方向上的梯度向量为4

我们知道,上述函数\(F\)的增长由其在\(x\)方向和\(y\)方向上的增长相加决定(后面会证明),那么我先在\(x\)方向上朝着增大的方向走,然后\(y\)方向上也在朝着增大的方向,注意,走的长度不能变,不然合成的时候,方向会不同(向量(-3,4)和向量(-2.9,4)是不一样的)。

在上面的例子中,向量\(<-3,4>\)的图像如下:


从图中也可以看到,这个向量指向了函数增长最快的方向,所以,如果梯度向量计算公式为:$\nabla F = <\frac{\partial F}{\partial x_1},\frac{\partial F}{\partial x_2},...,\frac{\partial F}{\partial x_n}>$,那么其确实是指向了函数增加的最快的方向,因为其的每个元素代表了函数在该维度上准备用多少的增长率且没有超过上限,而上述公式恰好全部都是每个维度在该点的增长幅度上限。

关于“函数\(F\)的增长由其在\(x\)方向和\(y\)方向上的增长相加决定”的证明:
假设\(F=f(x,y)\),那么\(F\)从点\((a,b)\)到点\((c,d)\)的增长值可表示为:

\[\begin{align} \nabla &= F(c,d)-F(a,b)\\ &= F(c,b) - F(a,b) + F(c,d) - F(c,b) \end{align} \]

参考文献:

https://ximera.osu.edu/mooculus/calculus3/interpretingTheGradient/digInGradient

posted @ 2022-10-20 22:26  Hisi  阅读(2103)  评论(0编辑  收藏  举报