机器学习中大部分问题都是优化问题,而绝大部分优化问题都可以用梯度下降法来解决。本文详细的解释了高数中几个易混淆的重要概念,如导数和微分的区别,偏导数的概念,方向导数和梯度的关系,若完全掌握这几个概念,就能很好地理解梯度为什么是函数变化最快的方向。

本文脉络:

  • 导数和微分
  • 偏导数
  • 方向导数和梯度的关系
  • 总结

导数和微分

导数的定义
定义:设函数y = f(x)在

领域内有定义,当自变量x在
处有增益
极限存在,则称函数f(x)在该点可导,记为
,表达式如下:

本质:导数描述的是函数在一点处的变化快慢的趋势,是一个变化的速率。如曲线方程的导数是随点变化的斜率,运动方程的导数是随时间变化的速率。

微分的定义

定义:函数y = f(x)在

有定义,对应的函数增量
。若函数增量可表示为:
,其中A是不依赖于
的常数,
的高阶无穷小则称函数是可微的,其中
称为微分,记为dy

本质:微分描述的是函数从一个点移动到另一个无穷小点所产生的变化量。

函数增量与微分的关系

本节从图形角度和代数角度去分析函数增量与微分的关系:

  • 图形角度:

如上图所示,函数f(x)在M点处的导数为直线T的斜率

是M点移动
时的函数增量,dy为函数相对于
的微分。

时,
  • 代数角度

若f(x)满足微分条件,则:

,两边同时除以
,得:

时,

偏导数

偏导数是函数相对于某一轴方向的导数,其他轴方向则假设为常数,若考虑二元变量f(x,y),偏导数定义如下;
如果:

存在,则称该式为

偏导数的几何意义

令z = f(x,y),偏导数

等价于曲面被片面
所截得的曲线在点
处的切线
同理偏导数
等价于曲面被平面
所截得的曲线在点
处的切线
对Y轴的斜率。

如下图:

方向导数和梯度的关系

方向导数

我们还是以讨论偏导数的图来解释方向导数。令曲面方程z=f(x,y)投影到XY平面,得到投影平面,如下图:

M1为M0在XY面的投影点,由上图可知,有无数条直线经过M1点,这些直线代表方向,我们认为曲面M1点的方向导数就是求这些直线方向的导数,M1点的方向导数也是无穷多个,我们用变量

来代表不同的方向直线。

如上图,直线l的方向向量

所以

点沿方向向量

由上式可知,方向导数随夹角

不同而不同。

由第一节介绍的单元变量的微分公式可推导二元变量的全微分公式

其中,

时,(1) 式两边各除t,得:

由方向导数的定义可知:

梯度

梯度是一个矢量,曲面上每点的梯度是常数,P0点的梯度如下;

其中

方向导数和梯度的关系
求上图曲面M0中P点的梯度和方向导数
梯度和方向导数的单位向量分别如下两图:

平移梯度向量,使之与方向导数的单位向量相交,夹角为

,如下图:

红色直线代表梯度,蓝色代表方向导数的单位向量,取该两个向量的內积,得:

由方向导数的表达式可知:

所以,

,方向导数等于梯度,且取得最大值。

结论:曲面中点的方向导数有无数个,当方向导数与梯度方向一致时,该导数值取得最大,等价于该点在梯度方向具有最快的变化值。梯度方向是函数值增加最快的方向,梯度的反方向是函数值减小最快的方向。

总结

本文介绍了高数教材中几个易混淆的概念,结合图解法和公式推导法证明了方向导数和梯度方向一致时,函数值变化最快。因此,机器学习常用梯度法去解决最优化问题。

函数的梯度方向和切线方向_梯度是函数变化最快的方向相关推荐

  1. 函数的梯度方向和切线方向_为什么梯度反方向是函数值局部下降最快的方向?...

    刚接触梯度下降这个概念的时候,是在学习机器学习算法的时候,很多训练算法用的就是梯度下降,然后资料和老师们也说朝着梯度的反方向变动,函数值下降最快,但是究其原因的时候,很多人都表达不清楚.所以我整理出自 ...

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

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

  3. 函数的梯度方向和切线方向_高数下微课:11.3_5 二元函数的全微分求积

    主要内容 部分讲课内容截图,视频内容更全面 9.2_1 偏导数的定义及求导方法 9.2_2 偏导数的几何意义与高阶偏导数 9.3_1 全微分定义 9.3_2 可微的必要条件与充分条件 9.3_3 全微 ...

  4. 函数的梯度方向和切线方向_高数下微课:11.3_6 二元函数的全微分求积例题

    主要内容 部分讲课内容截图,视频内容更全面 9.2_1 偏导数的定义及求导方法 9.2_2 偏导数的几何意义与高阶偏导数 9.3_1 全微分定义 9.3_2 可微的必要条件与充分条件 9.3_3 全微 ...

  5. 为什么梯度是函数变化最快的方向

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 前言 机器学习中的大部分问题都是优化问题,而绝大部分优化问题都可以 ...

  6. 箭头函数的this指向谁_高阶函数

    NodeJS 系列文章,本篇是第一篇,首先,预计将后续高频使用逻辑串一遍,依次是高阶函数,promise以及事件机制.本篇主要是高阶函数. call.bind.apply call.apply 都是改 ...

  7. 函数的凹凸性证明_判断复杂函数的凹凸性

    判断无人机能量x关系函数的凹凸性(函数是关于v和drt的二元函数) 函数有非常多的参数,极其复杂,看到就烦,我首先用画函数的方法通过图像法来观察,但是画出来的图像不忍直视(或许是我画的图像不对,反正看 ...

  8. 函数计算的是什么_【Excel函数教程】3个例子让你彻底玩转EDATE函数

    在日常的工作中,我们经常需要计算各种到期时间. 比如HR,就需要计算合同到期日.退休到期日.员工转正日期等. 生产或销售人员,需要关注产品的有效期等等-- 如果你不知道EDATE函数的话,可能这类问题 ...

  9. mysql通过函数完成10的阶乘_请使用函数的递归调用编写求阶乘的函数,并计算1!+2!+3!+4!+5!...

    点击查看请使用函数的递归调用编写求阶乘的函数,并计算1!+2!+3!+4!+5!具体信息 答:include "stdio.h" int fac(int k) { if(k==1) ...

最新文章

  1. torch.set_num_threads
  2. spring中@Transaction注解解析
  3. C语言中的位运算符主要有哪些?逻辑右移与算术右移的区别?
  4. Android开发之 当前日期String类型转date类型 java代码中实现方法
  5. c语言中常用的预处理命令6,C语言的预处理命令
  6. rabbitmq 持久化_RabbitMQ原理与相关操作(三)消息持久化
  7. 图论 —— 网络流 —— 最大流 —— Dinic 算法
  8. 【git clone 报错】fatal: unable to access ‘https://github.com/zimeng303/React.git/‘: Failed to connect
  9. onload、DOMContentLoaded、$(document).ready(fn)、$(document).load(fn)
  10. python基础教程菜鸟教程-终于懂得python入门菜鸟教程
  11. 【NLP入门】通俗讲解Subword Models
  12. 寿光农商行计算机机房,寿光农村商业银行:新系统上线前奏——培训
  13. torch中permute()函数用法补充内容(矩阵维度变化详细过程)
  14. win7下没有ntsd提供的程序支持
  15. css设置弹出信息,javaScript自定义alert弹出信息窗口
  16. 【计算机网络】南航计算机网络第一章 概述
  17. k3 设置 虚拟服务器,k3设置服务器映射功能
  18. win10计算机的数字小键盘,让Win10登录时默认开启数字小键盘
  19. LocalDateTime设定某一时间值,转Date
  20. 启动root用户 银河麒麟_银河麒麟V10启用VNCServer

热门文章

  1. 魔法方法——Python
  2. 大数据分析如何助力企业发展
  3. 大数据可视化的应用方法
  4. 大数据的价值与发展趋势
  5. java6不支持tlsv1.2_解决 JDK1.7 不支持 VCenter 6.7 的问题(涉及到Https TLS1.2协议)
  6. android白圈闪现动画,Android基于Shader的图像处理(9)-仿抖音闪白特效
  7. mysql 执行计划 改变_数据量增加导致mysql执行计划改变解决_MySQL
  8. JdbcTemplate 的使用
  9. Linux系统下apt-get命令详解
  10. mongodb adminmongo 使用过程中的一些小问题记录