证明:梯度方向是变化最快的方向

为什么梯度方向是变化最快的方向?

首先,回顾我们怎么在代码中求梯度的(梯度的数值定义):

1)对向量的梯度

以n×1实向量x为变元的实标量函数f(x)相对于x的梯度为一n×1列向量x,定义为

\[\nabla_{\boldsymbol{x}} f(\boldsymbol{x})\overset{\underset{\mathrm{def}}{}}{=} \left[ \frac{\partial f(\boldsymbol{x})}{\partial x_1}, \frac{\partial f(\boldsymbol{x})}{\partial x_2},\cdots,\frac{\partial f(\boldsymbol{x})}{\partial x_n} \right]^T=\frac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}} \]

2)对矩阵的梯度

实标量函数 $ {\displaystyle {\boldsymbol {f}}({\boldsymbol {A}})} ​$相对于m×n实矩阵A的梯度为一m×n矩阵,简称梯度矩阵,定义为

\[\nabla_{\boldsymbol{A}} \boldsymbol f(\boldsymbol{A})\overset{\underset{\mathrm{def}}{}}{=} \begin{bmatrix} \frac{\partial f(\boldsymbol{A})}{\partial a_{11}} &\frac{\partial f(\boldsymbol{A})}{\partial a_{12}} & \cdots & \frac{\partial f(\boldsymbol{A})}{\partial a_{1n}} \\ \frac{\partial f(\boldsymbol{A})}{\partial a_{21}} &\frac{\partial f(\boldsymbol{A})}{\partial a_{22}} & \cdots & \frac{\partial f(\boldsymbol{A})}{\partial a_{2n}} \\ \vdots &\vdots & \ddots & \vdots \\ \frac{\partial f(\boldsymbol{A})}{\partial a_{m1}} &\frac{\partial f(\boldsymbol{A})}{\partial a_{m2}} & \cdots &\frac{\partial f(\boldsymbol{A})}{\partial a_{mn}} \\ \end{bmatrix}=\frac{\partial \boldsymbol{f}(\boldsymbol{A})}{\partial \boldsymbol{A}} \]

然后我们回顾一下导数和方向导数:

1)导数和偏导

导数是函数在某一点的变化率,在一元函数中,就是沿着x轴在某一点的变化率;在二元函数中,就有了偏导,在x方向上的偏导,就是函数在某一点沿着x轴方向的变化率,在y方向上的偏导同理;在更多元函数中以此类推。

2)方向导数

上一点只涉及到坐标轴方向的变化率,那如果我想要知道任意方向的变化率呢?这就引出了方向导数的概念,方向导数是偏导数的概念的推广。

现在我们回到梯度:

梯度方向就是方向导数值最大的那个方向,那根据上面梯度的数值定义,“为什么梯度方向是变化最快的方向”这个问题就等价于“为什么多元函数各个轴方向的变化率(这里指向量)的合方向就是整个函数值变化率最大的方向?”

以二元函数为例:

已知:\(\vec{x},\vec{y}\)分别是二元函数\(f(x,y)\)在点\((x_0,y_0)\)处沿\(x,y\)轴的偏导数,\(\vec{l}\)是任意方向的方向导数。

求证:\(\vec{l_2}\)的方向是二元函数\(f(x,y)\)在点\((x_0,y_0)\)处变化最快的方向。

证明:

函数\(f(x,y)​\)在点\((x_0,y_0)​\)处沿方向\(\vec{l}​\)的变化率为\(|\vec{l}|=|\vec{x}|cos\theta+|\vec{y}|sin\theta​\)

\(|\vec{l}|​\)最大等价于点\((|\vec{x}|, |\vec{y}|)​\)与点\((cos\theta,sin\theta)​\)的内积最大(内积的坐标定义),

将上面的内积化为向量形式:记\(\vec{A}=(|\vec{x}|, |\vec{y}|),\vec{B}=(cos\theta,sin\theta)​\),则\(\vec{A} \cdot \vec{B}=|\vec{A}| \cdot |\vec{B}|\cdot cos\alpha​\),其中\(\alpha​\)\(\vec{A},\vec{B}​\)的夹角;

\(|\vec{l}|​\)最大等价于\(\vec{A} \cdot \vec{B}​\)最大,在问题的设定下\(\theta​\)是变量,于是等价于\(\vec{A},\vec{B}​\)方向平行,而\(\vec{A}​\)的方向就是\(\vec{l_2}​\)的方向,故\(\vec{B}​\)的方向取\(\vec{l_2}​\)的方向时,取到最大变化率。

于是由梯度的数值化定义出发,可以证明梯度方向就是方向导数值最大的那个方向,这个方向就是\(\vec{A}\)的方向(注意看它的坐标)。

以上都是在二元函数的情况下进行证明的,同理可以证明多元函数的情况:

比如三元函数\(f(x,y,z)\),沿\(\vec{l}\)方向的方向导数的大小为\(|\vec{l}|=|\vec{x}|cos\theta_1+|\vec{y}|cos\theta_2+|\vec{z}|cos\theta_3 (1)\),其中\(\theta_1,\theta_2,\theta_3\)分别是x,y,z轴和任意方向向量\(\vec{l}\)的夹角;于是又可以\(|\vec{l}|=\vec{A} \cdot \vec{B}\),其中​\(\vec{A}=(|\vec{x}|, |\vec{y}|,|\vec{z}|),\vec{B}=(cos\theta_1,cos\theta_2,cos\theta_3)\),接下来就是同理可证了。

因为(1)处用的是几何观点,更多元的情况从几何角度就想象不出来了,但讲道理是一样的,于是证明结束。

参考链接:

posted @ 2019-04-12 11:59  MrZJ  阅读(3330)  评论(0编辑  收藏  举报