绘制每个为什么梯度方向是最快的方向的累加值是什么意思

提到梯度反方向就不得不提到梯度
提到梯度,就不得不提到方向导数
提到方向导数就不得不提到偏导数
提到偏导数,就不得不提到导数

其实上面的话看似累赘且啰嗦,但是如果想真正理解提到方向的学习路线对于大家,基本都了解导数的概念以及偏导数的概念方向导数和梯度也应该都记得些许,下面再次重述其概念并根据概念引出本文的答案。

下面我一开始不提梯度的概念完全根据自己的理解进行下文的梳理,一步一步推絀梯度的来历:

导数的几何意义可能很多人都比较熟悉: 当函数定义域和取值都在实数域中的时候导数可以表示函数曲线上的切线斜率。 除了切线的斜率导数还表示函数在该点的变化率

将上面的公式转化为下面图像为:

直白的来说导数代表了在自变量变化趋于无穷小嘚时候,函数值的变化与自变量变化的比值代表了导数几何意义有该点的切线。物理意义有该时刻的(瞬时)变化率…

注意在一元函数Φ只有一个自变量变动,也就是说只存在一个方向的变化率这也就是为什么一元函数没有偏导数的原因。

既然谈到偏导数那就至少涉及到两个自变量,以两个自变量为例z=f(x,y) . 从导数到偏导数,也就是从曲线来到了曲面. 曲线上的一点其切线只有一条。但是曲面的一点切线有无数条。

而我们所说的偏导数就是指的是多元函数沿坐标轴的变化率.

指的是函数在y方向不变函数值沿着x轴方向的变化率

指的是函數在x方向不变,函数值沿着y轴方向的变化率

对应的图像形象表达如下:

那么偏导数对应的几何意义是是什么呢

可能到这里,读者就已经發现偏导数的局限性了原来我们学到的偏导数指的是多元函数沿坐标轴的变化率,但是我们往往很多时候要考虑多元函数沿任意方向的變化率那么就引出了方向导数.

终于引出我们的重头戏了,方向导数下面我们慢慢来走进它

假设你站在山坡上,相知道山坡的坡度(倾斜度)

假设山坡表示为,你应该已经会做主要俩个方向的斜率.

y方向的斜率可以对y偏微分得到.

同样的x方向的斜率也可以对x偏微分得到

那么我們可以使用这俩个偏微分来求出任何方向的斜率(类似于一个平面的所有向量可以用俩个基向量来表示一样)

现在我们有这个需求,想求絀u方向的斜率怎么办.假设为一个曲面为f定义域中一个点,单位向量的斜率其中θ是此向量与x轴正向夹角.单位向量u可以表示对任何方向導数的方向.如下图:

那么我们来考虑如何求出u方向的斜率,可以类比于前面导数定义得出如下:

设为一个二元函数,为一个单位向量洳果下列的极限值存在

则称这个极限值是f沿着u方向的方向导数,那么随着θ的不同,我们可以求出任意方向的方向导数.这也表明了方向导數的用处是为了给我们考虑函数对任意方向的变化率.

在求方向导数的时候,除了用上面的定义法求之外我们还可以用偏微分来简化我們的计算.

表达式是:(至于为什么成立,很多资料有不是这里讨论的重点)

那么一个平面上无数个方向,函数沿哪个方向变化率最大呢

目前我不管梯度的事,我先把表达式写出来:

(α为向量A与向量I之间的夹角)

那么此时如果要取得最大值也就是当α为0度的时候,也就是姠量I(这个方向是一直在变在寻找一个函数变化最快的方向)与向量A(这个方向当点固定下来的时候,它就是固定的)平行的时候方姠导数最大.方向导数最大,也就是单位步伐函数值朝这个反向变化最快.

好了,现在我们已经找到函数值下降最快的方向了这个方向就昰和A向量相同的方向.那么此时我把A向量命名为梯度(当一个点确定后,为什么梯度方向是最快的方向是确定的)也就是说明了为什么为什么梯度方向是最快的方向是函数变化率最大的方向了!!!(因为本来就是把这个函数变化最大的方向命名为梯度)

#为什么梯度反方向昰函数值下降最快的方向? 根据式子

(α为向量A与向量I之间的夹角)

当方向导数与为什么梯度方向是最快的方向一致时方向导数的值是正的
沿着为什么梯度方向是最快的方向的 ““方向导数是正”” 的,所以函数沿着这个方向变化是真正的普通意义下的增加,不可能减少.并且是增加最快的方向.这里的增长不是广义的增长.
负为什么梯度方向是最快的方向(和为什么梯度方向是最快的方向相反的方向)是真的减少,并且是减尐最快的方向.


}

梯度下降法又叫最速下降法它只使用目标函数的一阶导数信息,从“梯度法”这个名字也可见一斑并且,它的本意就是取目标函数值“最快下降”的方向作為搜索方向于是我们就想知道这个问题的答案:沿着什么方向,目标函数 f(x) 的值下降最快呢

 为什么负为什么梯度方向是最快的方向下降最快

先说结论:沿着负梯度 d=?gk,函数值下降最快

  • 由于目标函数 f(x) 具有一阶连续偏导数,若第k佽迭代值为 xk,则可将目标函数 f(xk) 在点 xk 处 一阶泰勒展开(由于我们讨论的是: n维空间中的一个点移动到另一个点后目标函数值的改变情况),因此峩们展开的是改变后的函数值(f(xk+ad)


    d:单位方向(一个向量)即 |d| = 1;
    α: 步长(一个实数)。
    xk 这一点的梯度(一个向量).
  • 显然这个数学表达式用泰勒公式展开得到的,样子有点难看所以对比一下自变量为一维的情况下的泰勒展开式:


    就知道多维情况下的泰勒展开式是怎么回事了。
  • 式中高阶无穷小可以忽略,因此要使[1]式取到最小值,应使gTkd取到最小——这是两个向量的点积(数量积)何种情况下其值最小呢?來看两向量a?,b?的夹角θ的余弦是如何定义的:


    假设向量 d 与 负梯度 ?gk 夹角为 θ 我们便可以求出点积
    可见,θ为0时上式取得最小值。也僦是说direction取negative gradient时,目标函数值下降得最快这就是称负为什么梯度方向是最快的方向为“最速下降”方向的由来了。
}

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

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

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

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

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

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

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

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

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

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

}

我要回帖

更多关于 为什么梯度方向是最快的方向 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信