今天我们来讨论一下梯度与方向导数。偏导数的概念非常容易理解,例如下图,z=$x^{2}$+$y^{2}$,x与y形成的二维平面上,每个点(对应一组xy值)都能在z的函数图像上找到对应的投影点,这个点的高度就是z值的大小。z对x的偏导数就在保持变量y大小不变的情况下(粉色切面上y值均相等),沿着x轴的方向,z变化的值与x变化的值之比,也就是图一中切线的斜率。
图一:三维空间中某点处沿着x的偏导数方向的切线 反过来,我们也可以求出z对y的偏导数。然而,xy平面上的点也可以向着不同于x和y轴的方向移动,此时z值的变化率会各不相同,自然也不等于偏导数。如何求出在某点处让z值变化最快的方向?我们需要完成一下分析。 方向导数 计算方向导数
首先明确,随着xy平面上的点沿着一个方向变化一个单位,z的变化值应当定义为一个方向导数,即沿着某个方向的导数。如图二所示,假设从A点向B点移动t个单位,即在x轴方向上移动了tcos $\theta $ 的距离,在y轴上移动了 tcos \(\beta\) 的距离。当这个$\theta $ 等于0时,就是x的偏导数。所以我们说偏导数是方向导数的一种特殊情况。
由全微分公式可以推出,由x和y两个自变量组成的函数,其方向导数的计算公式为:
图二:方向导数的公式
数学中,我们把由 某个函数全部偏导数 组成的向量称为函数的梯度。这个公式的意义是可以进一步将fx,fy等偏导数抽离出来组成梯度,将cos $\alpha $ 和 cos $\beta $,组成一个方向向量,这样方向导数就变成了梯度与方向导数的内积。根据我们的向量知识,两个向量的内积,即为方向向量投影到梯度向量上的长度与梯度向量长度的乘积。由于在某一点处梯度向量是确定的,方向向量的长度也是固定的1,因此只有当方向向量与梯度向量共线时,也就是夹角 \(\alpha\) 为0时取到最大值。因此我们可以说,当我们沿着梯度方向移动一个点时,会获得最大的方向导数,也就是说此时函数值的变化程度最大。当我们想要尽可能减小函数值时,应该沿着梯度方向的反方向移动。