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

尊重原作:https://www.cnblogs.com/lingjiajun/p/9895753.html#undefined

因为觉得有助于理解这几个定义所以才决定转载,如果原作者觉得需要删除,请告知删除,谢谢!不是有意冒犯,只是想方便个人和知识共享!

前言
 机器学习中的大部分问题都是优化问题,而绝大部分优化问题都可以使用梯度下降法处理,那么搞懂什么是梯度,什么是梯度下降法就非常重要!这是基础中的基础,也是必须掌握的概念!
 提到梯度,就必须从导数(derivative)、偏导数(partial derivative)和方向导数(directional derivative)讲起,弄清楚这些概念,才能够正确理解为什么在优化问题中使用梯度下降法来优化目标函数,并熟练掌握梯度下降法(Gradient Descent)。

 本文主要记录我在学习机器学习过程中对梯度概念复习的笔记,主要参考《高等数学》《简明微积分》以及维基百科上的资料为主,文章小节安排如下:
 1)导数
 2)导数和偏导数
 3)导数与方向导数
 4)导数与梯度
 5)梯度下降法

导数
 一张图读懂导数与微分:
 

 这是高数中的一张经典图,如果忘记了导数微分的概念,基本看着这张图就能全部想起来。
 导数定义如下:
 

 反映的是函数y=f(x)在某一点处沿x轴正方向的变化率。再强调一遍,是函数f(x)在x轴上某一点处沿着x轴正方向的变化率/变化趋势。直观地看,也就是在x轴上某一点处,如果f’(x)>0,说明f(x)的函数值在x点沿x轴正方向是趋于增加的;如果f’(x)<0,说明f(x)的函数值在x点沿x轴正方向是趋于减少的。

 这里补充上图中的Δy、dy等符号的意义及关系如下:
 Δx:x的变化量;
 dx:x的变化量Δx趋于0时,则记作微元dx;
 Δy:Δy=f(x0+Δx)-f(x0),是函数的增量;
 dy:dy=f’(x0)dx,是切线的增量;
 当Δx→0时,dy与Δy都是无穷小,dy是Δy的主部,即Δy=dy+o(Δx).
 

导数和偏导数
 偏导数的定义如下:
 

 可以看到,导数与偏导数本质是一致的,都是当自变量的变化量趋于0时,函数值的变化量与自变量变化量比值的极限。直观地说,偏导数也就是函数在某一点上沿坐标轴正方向的的变化率。
 区别在于:
 导数,指的是一元函数中,函数y=f(x)在某一点处沿x轴正方向的变化率;
 偏导数,指的是多元函数中,函数y=f(x1,x2,…,xn)在某一点处沿某一坐标轴(x1,x2,…,xn)正方向的变化率。
 

导数与方向导数
 方向导数的定义如下:
 

 在前面导 数和偏导数的定义中,均是沿坐标轴正方向讨论函数的变化率。那么当我们讨论函数沿任意方向的变化率时,也就引出了方向导数的定义,即:某一点在某一趋近方向上的导数值。
 通俗的解释是:
 我们不仅要知道函数在坐标轴正方向上的变化率(即偏导数),而且还要设法求得函数在其他特定方向上的变化率。而方向导数就是函数在其他特定方向上的变化率。
 

导数与梯度
 梯度的定义如下:
  

 梯度的提出只为回答一个问题:
 函数在变量空间的某一点处,沿着哪一个方向有最大的变化率?
 梯度定义如下:
 函数在某一点的梯度是这样一个向量,它的方向与取得最大方向导数的方向一致,而它的模为方向导数的最大值。
 这里注意三点:
 1)梯度是一个向量,即有方向有大小;
 2)梯度的方向是最大方向导数的方向;
 3)梯度的值是最大方向导数的值。
 

导数与向量
 提问:导数与偏导数与方向导数是向量么?
 向量的定义是有方向(direction)有大小(magnitude)的量。
 从前面的定义可以这样看出,偏导数和方向导数表达的是函数在某一点沿某一方向的变化率,也是具有方向和大小的。因此从这个角度来理解,我们也可以把偏导数和方向导数看作是一个向量,向量的方向就是变化率的方向,向量的模,就是变化率的大小。
 那么沿着这样一种思路,就可以如下理解梯度:
 梯度即函数在某一点最大的方向导数,函数沿梯度方向函数有最大的变化率。
 
 

梯度下降法
 既然在变量空间的某一点处,函数沿梯度方向具有最大的变化率,那么在优化目标函数的时候,自然是沿着负梯度方向去减小函数值,以此达到我们的优化目标。
 如何沿着负梯度方向减小函数值呢?既然梯度是偏导数的集合,如下:
 

 同时梯度和偏导数都是向量,那么参考向量运算法则,我们在每个变量轴上减小对应变量值即可,梯度下降法可以描述如下:
 

 以上就是梯度下降法的由来,大部分的机器学习任务,都可以利用Gradient Descent来进行优化。
---------------------

总结:

1.导数定义: 导数代表了在自变量变化趋于无穷小的时候,函数值的变化与自变量的变化的比值。几何意义是这个点的切线。物理意义是该时刻的(瞬时)变化率。

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

2.偏导数: 既然谈到偏导数,那就至少涉及到两个自变量。以两个自变量为例,z=f(x,y),从导数到偏导数,也就是从曲线来到了曲面。曲线上的一点,其切线只有一条。但是曲面上的一点,切线有无数条。而偏导数就是指多元函数沿着坐标轴的变化率。
注意:直观地说,偏导数也就是函数在某一点上沿坐标轴正方向的的变化率。
(partial derivative)

3.方向导数: 在某点沿着某个向量方向上的方向导数,描绘了该点附近沿着该向量方向变动时的瞬时变化率。这个向量方向可以是任一方向。

方向导数的物理意义表示函数在某点沿着某一特定方向上的变化率。
注意:导数、偏导数和方向导数表达的是函数在某一点沿某一方向的变化率,也是具有方向和大小的。
(directional derivative)

4.梯度: 函数在给定点处沿不同的方向,其方向导数一般是不相同的。那么沿着哪一个方向其方向导数最大,其最大值为多少,这是我们所关心的,为此引进一个很重要的概念: 梯度。

5.梯度下降
在机器学习中往往是最小化一个目标函数 L(Θ),理解了上面的内容,便很容易理解在梯度下降法中常见的参数更新公式:

Θ = Θ − γ ∂ L ∂ Θ
通过算出目标函数的梯度(算出对于所有参数的偏导数)并在其反方向更新完参数 Θ ,在此过程完成后也便是达到了函数值减少最快的效果,那么在经过迭代以后目标函数即可很快地到达一个极小值。

6.In summary:
概念   物理意义
导数   函数在该点的瞬时变化率
偏导数  函数在坐标轴方向上的变化率
方向导数 函数在某点沿某个特定方向的变化率
梯度   函数在该点沿所有方向变化率最大的那个方向

导数、偏导数、方向导数、梯度、梯度下降相关推荐

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

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

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

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

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

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

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

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

  5. (摘)导数、偏导数、方向导数、梯度、梯度下降概念和解释

    前言 机器学习中的大部分问题都是优化问题,而绝大部分优化问题都可以使用梯度下降法处理,那么搞懂什么是梯度,什么是梯度下降法就非常重要!这是基础中的基础,也是必须掌握的概念! 提到梯度,就必须从导数(d ...

  6. (转)导数、偏导数、方向导数、梯度、梯度下降概念和解释

    转自:https://www.cnblogs.com/lingjiajun/p/9895753.html 前言 机器学习中的大部分问题都是优化问题,而绝大部分优化问题都可以使用梯度下降法处理,那么搞懂 ...

  7. 导数,偏导数,方向导数与梯度的定义与联系

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

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

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

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

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

最新文章

  1. java 显式锁_Java 实现一个自己的显式锁Lock(有超时功能)
  2. JQuery中隐式迭代和each的区别(通过反选功能解析)
  3. Linux环境下安装PHP的memced扩展
  4. c语言1 2 3 10000,在网上看到一个求2的10000次方的方法,有个地方看不懂,求大佬...
  5. SAP Spartacus table里显示较长数据时自动显示省略号的设置
  6. Windows Internet
  7. sendmail配置
  8. X射线检测系统市场现状及未来发展趋势
  9. 手机卸载不了刷机精灵
  10. mgo 多条件联合查询
  11. 短视频平台类的社交媒体市场现状与发展前景到底如何?
  12. 番茄闹钟一(React-Antd-Typescript 框架搭建)
  13. 关于redis的BussinessName取法
  14. 芯洲电源,一款可以升压降压DCDC开关稳压电源,车规级面世,文章是参数详解
  15. 少说话多写代码之Python学习017——字典的方法(items、pop)
  16. Windows - win11取消鼠标右键菜单折叠的方法
  17. 推荐一款免费的文件夹加密软件 Free Encrypt Folder 加密耗子
  18. 简单理解RDMA RoCE
  19. 惠普m1005mfp说明书_惠普HP LASERJET M1005一体机怎么使用?
  20. QQ2011在Windows系统下安装失败

热门文章

  1. sd和sem啥区别_SD与SEM区别
  2. 杰瑞·卡普兰:人工智能的本质是自动化 而非智能化
  3. iOS开发——使用Charles进行http网络抓包详解
  4. Python—SVD分解压缩图片
  5. PCLINT(2):MVG NEST LOC (圈复杂度 嵌套深度 代码行数)
  6. Python把mp4视频转化成gif动图
  7. python+selenium3解决126邮箱登录出现验证码问题
  8. 优盘里文件夹变成html,u盘里面的文件打开里面没内容了怎么回事 u盘打开之后里面的文件都不见了怎么办...
  9. Windows XP自动登录
  10. ArchLinux+Win10安装美化及一些常用(装逼神器)软件安装记