首页 > 其他 > 详细

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

时间:2019-04-12 13:00:21      阅读:244      评论:0      收藏:0      [点我收藏+]

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

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

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)处用的是几何观点,更多元的情况从几何角度就想象不出来了,但讲道理是一样的,于是证明结束。

参考链接:

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

原文:https://www.cnblogs.com/MrZJ/p/10695198.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!