参考博客https://blog.csdn.net/baishuo8/article/details/81408369和知乎https://www.zhihu.com/question/36301367

一、导数(derivative)

导数,是我们最早接触的一元函数中定义的,可以在 xy 平面直角坐标系中方便的观察。当 Δx→0时,P0处的导数就是因变量y在x0处的变化率,反映因变量随自变量变化的快慢;从几何意义来讲,函数在一点的导数值就是过这一点切线的斜率。

二、偏导数(partial derivative)


偏导数对应多元函数的情况,对于一个 n元函数 y=f(x1,x2,…,xn),在 ℝn 空间内的直角坐标系中,函数沿着某一条坐标轴方向的导数,就是偏导数。在某一点处,求 xi轴方向的导数,就是将其他维的数值看做常数,去截取一条曲线出来,这条曲线的导数可以用上面的导数定义求。求出来就是此点在这条轴方向上的偏导数。

三、方向导数 (directional derivative)

很多时候,仅仅有了坐标轴方向上的偏导数是不够的,我们还想知道任意方向上的导数。函数在任意方向上的导数就是方向导数。而空间中任意方向,是一定可以用坐标轴线性组合来表示的,这就架起了偏导数和方向导数的桥梁:

,

其中,α是由偏导数定义的向量A 与 我们自己找的单位方向向量 I之间的夹角。

现在我们来讨论函数在一点沿某一方向的变化率问题.

定义 设函数在点的某一邻域内有定义.自点引射线.设轴正向到射线的转角为(逆时针方向:0;顺时针方向:0),并设'(+△,+△)为上的另一点且'∈.我们考虑函数的增量(+△,+△)-'两点间的距离的比值.当'沿着趋于时,如果这个比的极限存在,则称这极限为函数在点沿方向的方向导数,记作,即

                              (1)

从定义可知,当函数在点的偏导数x、y存在时,函数在点沿着轴正向=轴正向=的方向导数存在且其值依次为x、y,函数在点沿轴负向=轴负向=的方向导数也存在且其值依次为-x、-y.

关于方向导数的存在及计算,我们有下面的定理.

定理  如果函数在点是可微分的,那末函数在该点沿任一方向的方向导数都存在,且有

                                 (2)

其中轴到方向的转角.

证  根据函数在点可微分的假定,函数的增量可以表达为

两边各除以,得到

所以                 

这就证明了方向导数存在且其值为

在训练神经网络时,我们都是通过定义一个代价函数cost function),然后通过反向传播更新参数来最小化代价函数,深度神经网络可能有大量参数,因此代价函数是一个多元函数,多元函数与一元函数的一个不同点在于,过多元函数的一点,可能有无数个方向都会使函数减小。引申到数学上,我们可以把山这样的曲面看作一个二元函数z=f(x,y),二元函数是多元函数里最简单的情形,也是易于可视化直观理解的。前面提到一元函数导数的几何意义是切线的斜率,对于二元函数,曲面上的某一点(x0,y0,z0)会有一个切平面,切平面上的无数条直线都是过这一点的切线,这些切线的斜率实际上就是过这一点的无数个方向导数的值,和一元函数一样,方向导数的值实际反映了多元函数在这一点沿某个方向的变化率。

四、梯度 (gradient)与神经网络中的梯度下降

在上面的方向导数中,

  • A是固定的
  • |I|=1是固定的
  • 唯一变化的就是 α

当 I与 A 同向的时候,方向导数取得最大,此时我们定义一个向量 ,其方向就是 A的方向,大小就是 A的模长,我们称这个向量就是此点的梯度。沿着梯度方向,就是函数增长最快的方向,那么逆着梯度方向,自然就是函数下降最快的方向。由此,我们可以构建基于梯度的优化算法。正如下山必然有一条最陡峭、最快的路径,方向导数也有一个最小值,在最小值对应的方向上,函数下降最快,而这个方向其实就是梯度的反方向。对于神经网络,在方向导数最小的方向更新参数可以使代价函数减小最快,因此梯度下降法也叫最速下降法。

向量(fx(x0,y0),fy(x0,y0))就是函数f(x,y)在点P0(x0,y0)的梯度,由此引出梯度的概念,梯度就是一个向量,这个向量的每个元素分别是多元函数关于每个自变量的偏导数。方向导数的值最大,多元函数增加最快,也就是说梯度的方向就是函数增加最快的方向,方向导数的值最小,多元函数减小最快,也就是在梯度相反的方向上,方向导数最小。

1.梯度的定义

与方向导数有关联的一个概念是函数的梯度.

定义 设函数在平面区域内具有一阶连续偏导数,则对于每一点,都可定出一个向量

这向量称为函数=在点的梯度,记作,即

 =

如果设是与方向同方向的单位向量,则由方向导数的计算公式可知

这里,(^,e)表示向量的夹角.由此可以看出,就是梯度在射线上的投影,当方向与梯度的方向一致时,有

(^,) 1,

从而有最大值.所以沿梯度方向的方向导数达到最大值,也就是说,梯度的方向是函数在这点增长最快的方向.因此,我们可以得到如下结论:

函数在某点的梯度是这样一个向量,它的方向与取得最大方向导数的方向一致,而它的模为方向导数的最大值.

由梯度的定义可知,梯度的模为

不为零时,那么轴到梯度的转角的正切为

我们知道,一般说来二元函数在几何上表示一个曲面,这曲面被平面z=c(c是常数)所截得的曲线的方程为

这条曲线面上的投影是一条平面曲线(图8―10),它在平面直角坐标系中的方程为

对于曲线上的一切点,已给函数的函数值都是,所以我们称平面曲线为函数的等高线.

由于等高线上任一点处的法线的斜率为

,

所以梯度                       

为等高线上点处的法向量,因此我们可得到梯度与等高线的下述关系:函数在点的梯度的方向与过点的等高线在这点的法线的一个方向相同,且从数值较低的等高线指向数值较高的等高线(图8―10),而梯度的模等于函数在这个法线方向的方向导数.这个法线方向就是方向导数取得最大值的方向.

2、解释方向导数只有一个最小值:

具有一阶连续偏导数,意味着可微。可微意味着函数 在各个方向的切线都在同一个平面上,也就是切平面。所有的切线都在一个平面上,就好像光滑的笔直的玻璃上,某一点一定有且只有一个最陡峭的地方,因为方向导数是切线的斜率,方向导数最大也就意味着最陡峭。

3、解释最大值在哪个方向?

最大值的方向是梯度的方向。演示参照https://www.matongxue.com/madocs/222.html

五、小结

  1. 导数、偏导数和方向导数衡量的都是函数的变化率;
  2. 梯度是以多元函数的所有偏导数为元素的向量,代表了函数增加最快的方向;
  3. 在梯度反方向上,多元函数的方向导数最小,函数减小最快;在神经网络中,在梯度反方向更新参数能最快使代价函数最小化,所以梯度下降法也叫最速下降法。

导数,偏导数,方向导数与梯度的定义与联系相关推荐

  1. 导数,方向导数与梯度的关系

    最近做的东西需要用到牛顿法和拟牛顿法,前两天自己在思考导数和梯度之间的关系的的时候,发现竟然不能清晰地表述出来.所以趁此机会再次复习一下.时间有限,这个也不是重点,所以主要对知乎上的一个相同问题中大家 ...

  2. 导数,偏导数,方向导数,梯度

    @梯度 梯度 为什么梯度是函数方向变化中最快的,梯度是矢量 为什么梯度是函数方向变化中最快的,梯度是矢量 从导数==>偏导数==>方向导数==>梯度由浅入深的分析梯度 提示:以下是本 ...

  3. 函数的梯度方向和切线方向_方向导数和梯度是什么?

    原标题:方向导数和梯度是什么? 为什么梯度的方向是函数在该点的方向导数最大的方向,梯度的模是最大方向导数的值?大家在看复习全书时,有认真想过这个问题吗?小编在本文以二元函数为例详细讲解方向导数和梯度, ...

  4. ML: 导数、方向导数、曲率小结

    新手上路,小心晕车 前言 导数.方向导数.梯度这些概念是理解神经网络算法的基础,这里做一个小结. 1.导数 导数(Derivative)是微积分中的重要基础概念,当函数y=f(x)的自变量x在一点x0 ...

  5. 导数,偏导数,方向导数,梯度的理解---微积分数学基础

    文章目录 0 概述 1. 导数的概念 1.1 导数的定义 1.2 导数的本质 2. 偏导数的概念 2.1 偏导数定义 2.2 偏导数的本质 3. 方向导数 3.1 方向导数定义 3.2 方向导数的最大 ...

  6. 导数、偏导数、方向导数、梯度、梯度下降

    原作者:WangBo_NLPR 原文:https://blog.csdn.net/walilk/article/details/50978864  原作者:Eric_LH 原文:https://blo ...

  7. (转)导数、偏导数、方向导数、梯度、梯度下降

    原作者:WangBo_NLPR 原文:https://blog.csdn.net/walilk/article/details/50978864  原作者:Eric_LH 原文:https://blo ...

  8. 全微分/偏导数/方向导数/梯度/全导数

    1.偏导数 参考 :导数.偏导数.方向导数 就是对某一变量求导,把其他变量作为常数 2.方向导数 可以认为偏导数是特殊的方向导数,是在自变量方向上的方向导数. 任意方向导数为: 3.梯度 参考: 导数 ...

  9. 【RL数学基础】微积分的基本概念:导数、偏导数、方向导数、梯度

    文章目录 1.导数 2.偏导数 3.方向导数 4.梯度 1.导数 导数定义: 反应的是函数 y=f(x)y=f(x)y=f(x) 在某一点处沿着自变量 xxx 的正方向(即: xxx 轴正方向)的变化 ...

最新文章

  1. python解多项式方程_python – SymPy不能求解四阶多项式方程
  2. 聊聊数据挖掘竞赛中的套路与深度学习的局限
  3. ubuntu下 mysql数据 自执行备份
  4. Java B2B2C o2o多用户商城 springcloud架构 (六)分布式配置中心(Spring Cloud Config)
  5. 【计算理论】可判定性 ( 对角线方法 | 使用对角线方法证明 通用任务图灵机 语言 不可判定 )
  6. 从零开始学习OpenGL ES之五 – 材质
  7. 怎么查看linux挂载的硬盘,如何查看Linux服务器已挂载的硬盘
  8. JDK 9、10和11中的安全性增强
  9. JavaScript中的全局变量介绍
  10. 成为中国最好的Magento开发公司
  11. LQR、Stochastic Bandits、Bayesian Bandits、Contextual Bandits与基于模型的强化学习浅析
  12. 软考初级程序员含金量高吗?有答案了
  13. JVM 自带使用总结
  14. 贪吃蛇程序设计报告python_C某贪吃蛇程序设计报告.doc
  15. 可视化实验五:大数据可视化工具—NodeXL
  16. gatk过滤_VCF文件中的原始突变过滤–filter raw variants in vcf
  17. 推荐两个Android模拟器,轻松解决模拟器调试java.lang.UnsatisfiedLinkError: dlopen failed~~
  18. codeup刷题2.1~2.4小节 ——《算法笔记》(胡凡)
  19. python关于luminati国外动态代理的使用
  20. java计算机毕业设计网络游戏后台管理系统(附源码、数据库)

热门文章

  1. Seventh season twenty-first episode,Monica and Chandler both did not know how to write their vows???
  2. C++ 后室·无限#1 游戏制作实录(RPG类型游戏)
  3. 高德地图 toolbar
  4. 云服务器运维兼职,云服务器的维护工作主要有哪些?
  5. 设置GPU及显存大小
  6. 笔记本电脑触控板操作小结
  7. ⭐算法入门⭐《动态规划 - 串匹配》困难02 —— LeetCode 72. 编辑距离
  8. java8 Exception全集
  9. 教程丨一文入门图像预训练模型
  10. 微信支付认证和ssl-https