梯度在机器学习和深度学习中是一个高频词汇,弄懂梯度的概念对梯度下降,反向传播的理解有很大帮助。这里我根据个人理解,对梯度的反方向是函数下降最快的方向这一观点进行解释。限于作者水平,难免有错误之处,欢迎批评指正。

导数

    说到梯度,就不可避免的要谈导数。对于单变量函数f(x)f(x)f(x)在点x0x_0x0​处连续,则函数f(x)f(x)f(x)在点x0x_0x0​处的导数为:
f′(x0)=lim⁡Δx−>0ΔyΔx=lim⁡Δx−>0f(x0+Δx)−f(x0)Δx\begin{aligned} f^{'}(x_0) &=\lim_{\Delta x->0}\frac{\Delta y}{\Delta x}\\ &=\lim_{\Delta x->0}\frac{f(x_0+\Delta x)-f(x_0)}{\Delta x} \end{aligned} f′(x0​)​=Δx−>0lim​ΔxΔy​=Δx−>0lim​Δxf(x0​+Δx)−f(x0​)​​

图片来源:维基百科

偏导

    对于多个自变量的函数,就需要求偏导数。这里用两个自变量的函数为例,多个自变量的函数类似 。
    假设函数f(x,y)f(x, y)f(x,y)在点(x0,y0)(x_0, y_0)(x0​,y0​)处连续,则函数f(x,y)f(x, y)f(x,y)在点(x0,y0)(x_0, y_0)(x0​,y0​)处的偏导为:
fx(x0,y0)=lim⁡Δx−>0f(x0+Δx,y0)−f(x0,y0)Δxfy(x0,y0)=lim⁡Δy−>0f(x0,y0+Δy)−f(x0,y0)Δy\begin{aligned} & f_{x}(x_0, y_0) = \lim_{\Delta x->0} \frac {f(x_0+\Delta x, y_0)-f(x_0, y_0)} {\Delta x} \\ & f_{y}(x_0, y_0) = \lim_{\Delta y->0} \frac {f(x_0, y_0+\Delta y) - f(x_0, y_0)} {\Delta y} \end{aligned} ​fx​(x0​,y0​)=Δx−>0lim​Δxf(x0​+Δx,y0​)−f(x0​,y0​)​fy​(x0​,y0​)=Δy−>0lim​Δyf(x0​,y0​+Δy)−f(x0​,y0​)​​
函数f(x,y)f(x, y)f(x,y)在点(x0,y0)(x_0, y_0)(x0​,y0​)处的偏导可以记作:∇f(x0,y0)=fx(x0,y0)+fy(x0,y0)\nabla f(x_0, y_0) = f_x(x_0, y_0) + f_y(x_0, y_0)∇f(x0​,y0​)=fx​(x0​,y0​)+fy​(x0​,y0​)。

梯度

    由于偏导不能直接表示方向,所以这里选用单位方向向量u=cos⁡θi+sin⁡θju=\cos\theta i+\sin\theta ju=cosθi+sinθj,其中θ\thetaθ为单位向量与xxx轴的夹角,此时带有方向的偏导可以表示为:
D(x0,y0)=fx(x0,y0)cos⁡θ+fy(x0,y0)sin⁡θD(x_0, y_0)= f_x(x_0, y_0)\cos\theta + f_y(x_0, y_0)\sin\theta D(x0​,y0​)=fx​(x0​,y0​)cosθ+fy​(x0​,y0​)sinθ此时,就可以表示任意方向的偏导了。
    这里对该表达式DDD做一下变换:A=(fx(x0,y0),fy(x0,y0))A=(f_x(x_0, y_0), f_y(x_0, y_0))A=(fx​(x0​,y0​),fy​(x0​,y0​)),I=(cos⁡θ,sin⁡θ)I=(\cos\theta, \sin\theta)I=(cosθ,sinθ),则表达式DDD的模为:∣D∣=∣A∣⋅∣I∣cos⁡α|D|=|A|\cdot|I|\cos\alpha∣D∣=∣A∣⋅∣I∣cosα,其中α\alphaα为向量AAA与向量III的夹角。
    这里我们可以很明显的看到,当AAA与III的方向相同时表达式DDD的模最大,同理,当方向相反时,梯度最小,也就是梯度的反方向是函数下降最快的方向。

为什么说梯度的反方向是函数下降最快的方向相关推荐

  1. 梯度下降法中为什么梯度的反方向是函数下降最快的方向?

    梯度下降法中为什么梯度的反方向是函数下降最快的方向? 梯度是个向量,函数沿梯度方向具有最大的变化率.是因为函数在这个方向具有最大的变化率,所以冠以梯度这一概念,所以要搞清楚的是,怎么在无数个方向导数中 ...

  2. 为什么梯度反方向是函数下降最快的方向

    转载自  为什么梯度反方向是函数下降最快的方向 为什么梯度反方向是函数下降最快的方向? 刚接触梯度下降这个概念的时候,是在学习机器学习算法的时候,很多训练算法用的就是梯度下降,然后资料和老师们也说朝着 ...

  3. [深度学习]为什么梯度反方向是函数值下降最快的方向?

    为什么梯度反方向是函数值下降最快的方向 1. 版本一用泰勒公式展开式解释 1.1. 什么是梯度? 1.2 梯度下降算法 1.3 一阶泰勒展开式 1.4 梯度下降数学原理 1.5总结 2.版本二用方向导 ...

  4. 为什么梯度反方向是函数值下降最快的方向?

    提到梯度反方向,就不得不提到梯度 提到梯度,就不得不提到方向导数 提到方向导数,就不得不提到偏导数 提到偏导数,就不得不提到导数 其实上面的话,看似累赘且啰嗦,但是如果想真正理解提到方向的学习路线.对 ...

  5. 在梯度下降法中,为什么梯度的负方向是函数下降最快的方向?

    1.问题描述 第一次接触这个问题是在大一暑假的小学期项目上,我们组的课题是一个优化问题,其中一个小问题就是证明为什么梯度的负方向是函数下降的最快方向.(全程用法语写的论文233)当时没有多大感触,后来 ...

  6. 【直观理解】为什么梯度的负方向是局部下降最快的方向?

    推荐阅读时间:8min~15min 主要内容: 为什么梯度的负方向是局部下降最快的方向? 刚接触梯度下降这个概念的时候,是在学习机器学习算法的时候,很多训练算法用的就是梯度下降,然后资料和老师们也说朝 ...

  7. 函数的梯度方向和切线方向_梯度是函数变化最快的方向

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

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

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

  9. 梯度反方向函数下降最快

    梯度反方向函数下降最快 摘要 本文主要围绕为什么梯度方向是函数最快下降的方向展开,共分为两部分,分别是基本定义部分和证明部分. 一.基本定义:分别复述了导数.偏导数和方向导数. 二.证明部分:用了两种 ...

最新文章

  1. Tensorflow—创建图
  2. Redhat 7使用CentOS 7的Yum网络源
  3. 最简便的备份MySql数据库方法
  4. 让浏览器变身代码编辑器
  5. Linux网络子系统
  6. Win11将沿用Win10升级模式 并会有LTSC版本
  7. mysql字符串结束符_mysql常见字符串处理函数结束
  8. linux+tar高级用法,Linux tar命令高级用法——备份数据
  9. java有哪些部分要学_java需要学习哪些知识
  10. Elasticsearch如何做到亿级数据查询毫秒级返回
  11. macbookwps excel颜色填充快捷键_Excel VBA 实例(31) 为VBA代码自定义快捷键
  12. EPICS Archiver Appliance在Debian11下安装文档
  13. 32位/64位CPU的32位/64位指的是什么?
  14. VR时代的媒介——虚拟的真实感就是真实
  15. Eclipse插件(RCP)自定义编辑器添加Dirty效果
  16. Qt5:error: no matching function for call to 'MainWindow::connect()
  17. JavaScript 编程精解 中文第三版 九、正则表达式
  18. 农夫山泉有点牛!港股打新把暗盘系统都整崩溃了
  19. 错误:未将对象引用设置到对象的实例
  20. VS2010黑色主题Dark完美设置!

热门文章

  1. iphone5刷android,iphone5s怎么刷机 简单几招搞定iOS【图文教程】
  2. cmd 新增dns_cmd修改DNS,以及DNS大全
  3. 自学php多久可以工作_php自学要多久,学php难吗,多久能学会?
  4. 韩天峰php教程,韩天峰 - Swoole4-全新的PHP编程模式
  5. 信仰是如何毁掉程序员的
  6. 女友让我每天半夜十二点给她发晚安?我用 Python 做了个定时发消息神器!怕她干嘛!
  7. 傅里叶描述子、HOG特征描述子原理及matlab代码
  8. 如何使用轻快PDF阅读器编辑PDF文件
  9. ppt python 图表_利用python分析weibo数据做成图表放入PPT中
  10. Pytorch警告UserWarning: Loky-backed parallel loops cannot be called in a multiprocessing