参考文献:

https://arrow.blog.csdn.net/article/details/86583789?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control

https://blog.csdn.net/blogshinelee/article/details/102668951?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

https://blog.csdn.net/youhuakongzhi/article/details/80565176

最近在学习自适应滤波器的梯度下降法,发现对里面反复运用的梯度向量的理解并不是很深刻。看了几篇文章,尝试用自己的理解写了一下,在各位大佬的带领下,算是有一些领悟了。
本文从一元函数、多元函数的角度,去阐述其变化率的问题。旨在能够阐述对导数、方向导数、偏导数的理解。

函数是为描述两个或多个变量间变化的关系。以y=f(x)为例,x的变化将引起y的变化,当x变化了变化量Δx时,y变化了变化量Δy。当变化量很小,趋近于零时,称为瞬时变化量dx、dy。
导数描述了函数的变化率,即变化的剧烈程度。

一、 一元函数

一元函数的导数,为切线斜率。切线越陡峭,斜率越大。导数为正,函数随自变量的增大而增大。反之,随之减小。其梯度,即为一元函数的导数。
一元函数的导数与梯度,只有大小,没有方向,是标量。这是由于函数只有一个自变量,y只沿着自变量x坐标轴发生变化。导数越大,函数值随着自变量的变化越剧烈。
本质上,一元函数只涉及到函数值随一个自变量的变化而变化的情况,其导数、偏导、方向导数和梯度均是一个东西。

二、 多元函数

2.1 偏导数

多元函数的偏导数,是将多元函数“视作”一元函数求得的。例如,求解二元函数z=f(x,y)对y的偏导时,会将x视作常数。描述的是函数沿着自变量y坐标轴方向的变化率。

下面从几何层面阐述偏导数的物理意义。二元函数z=f(x,y)对应三维坐标系中的曲面。如下图所示,

是平面y=C(C为常数)与曲面z=f(x,y)两个面交线的导数(切线斜率),是函数沿着x坐标轴方向上的(方向)导数。

同理,z对y的偏导数是函数沿着y坐标轴方向的(方向)导数。

2.2 方向导数

自然而然的,上述z=f(x,y)可以沿x轴方向、y轴方向变化,是不是也可以沿着其它任意直线方向变化呢?答案是肯定的。而衡量函数沿着某一方向变化的快慢的物理量就是方向导数。

方向导数是,某一方向的垂直平面截线的斜率。而偏导数是,平行于x/y坐标轴的垂直平面的截线斜率。

如上图所示,在xy平面上,有一点P(a,b),红色的箭头为单位向量u(cosθ,sinθ)。给定了P点与向量u,相当于确定了自变量的初值与前进方向。
对于曲面z=f(x,y)上的点,由点(a,b,f(a,b))沿着单位向量u方向出发,设走了t个单位长度后到达点(a+tcosθ,b+tsinθ,f(a+tcosθ,b+tsinθ))。则,函数z在点(a,b)处,沿θ方向/沿单位向量u方向的方向导数为

其中,
为梯度向量,是偏导数组成的向量。由上可知,(1)方向导数是偏导数的线性组合,系数为
。(2)偏导数是沿坐标轴方向的方向导数。

2.3 梯度向量

接上继续推导,函数在点(a,b)处,沿θ方向的方向导数为

可以直观看出,当方向导数取最大值时,θ=0,方向导数沿梯度方向,值为 。当方向导数取最小值时,θ=pi,方向导数沿负梯度方向,值为

理解梯度向量,按照向量的方向和大小理解。梯度是由偏导数构成的向量,梯度向量的方向为方向导数取最大值的方向,大小为此时方向导数的大小。
举个例子来理解由偏导数组成的梯度向量的方向是变化率最大的方向。假设函数z=f(x,y),有一个人在曲面上的点P(x=a,y=b,z=c),想要选择一个最抖的方向上山,即要找方向导数最大值对应的方向。由于x,y自变量张成了一个二维平面,他可以选择xy平面上的任意方向。此时,将函数对x求偏导,可得一个值。对y求偏导,可得一个值。最终选择的梯度方向,即
的方向,是综合考虑了函数沿x方向和沿y方向的变化率的大小,对其进行加权得到的。根据平行四边形准则,若沿x方向的变化率大一些,则最终合成的方向会偏向x方向一些,若沿y方向变化率大,合成方向会偏向y方向一些。若沿x、y方向的变化率一致,则θ正好取45°。
梯度向量的一个重要特征是与等高线垂直。等高线,如其名所示,这条曲线上的函数值是相等的。推导如下:
设z=f(x,y)=C,为一条等高线。对其两边进行全微分,可得

即,梯度向量
与在曲线上的的微小变化量垂直,可理解为梯度向量垂直于等高线,指向函数上升最快的方向。

最后,总结一下:
(1) 导数都是为了衡量函数的变化快慢的。无论是偏导数、方向导数,均是如此。
(2) 对于多元函数,偏导数是函数沿自变量坐标轴方向的导数/方向导数,方向导数是函数沿某一方向的导数,偏导数的线性组合,系数为
。梯度向量是偏导数组成的向量,其方向是方向导数取得最值的方向,垂直于等高线,指向函数上升最快的方向,大小是方向导数的最大值。

一文让你理清导数、方向导数、梯度向量之间的关系~相关推荐

  1. sequelize模型关联_Sequelize 中文API文档-3. 模型(表)之间的关系/关联

    模型(Model)之间存在各种各样的关系,如:一对一(One-To-One ).一对多(One-To-Many)等.模型间的关系本质上是对其代表的数据库中表之间的关系描述,通过这些关系可以实现数据库中 ...

  2. dataset__getitem___一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系

    以下内容都是针对Pytorch 1.0-1.1介绍. 很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解,因为有的时候会不自觉地陷入到一些细枝末节中去,而不能把握 ...

  3. 查看dataloader的大小_一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系

    以下内容都是针对Pytorch 1.0-1.1介绍. 很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解,因为有的时候会不自觉地陷入到一些细枝末节中去,而不能把握 ...

  4. 一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系

    自上而下理解三者关系 首先我们看一下DataLoader.__next__的源代码长什么样,为方便理解我只选取了num_works为0的情况(num_works简单理解就是能够并行化地读取数据). c ...

  5. 一文彻底弄清4G/蓝牙/WiFi/TCP/IP之间的关系

      计算机学院或者软件学院毕业的小伙伴必然学过<计算机网络>这门课,作为一个小小的考验,我们来稍微思考一下这么一个问题:   计算机的通信协议跟手机的通信协议有什么区别?TCP/IP协议和 ...

  6. 批量梯度下降与随机梯度下降之间的关系

    首先来看一个最简单的例子,即线性回归. 与之前一样,我们从代价函数(cost function)开始. 1_CSocAhQwk1xuncdV7aRdmA 线性回归复习完毕. 所以,梯度下降算法是什么? ...

  7. 一文详解像素、DPI、分辨率之间的关系

    1.像素 像素:是指在由一个数字序列表示的图像中的一个最小单位,称为像素. 像素可以用一个数表示,比如一个"0.3兆像素"数码相机,它有额定30万像素:也可以用一对数字表示,例如& ...

  8. 二元函数偏导数公式_多元函数的偏导数、方向导数、梯度以及微分之间的关系思考...

    本篇文章,探讨下多元函数微分学下的一些知识点之间的关系.包括全微分.偏导数.方向导数.梯度.全导数等内容. 初学这些知识的时候,学生会明显觉得这些概念不难掌握,而且定义及计算公式也很容易记住,但总觉得 ...

  9. 高数 | 【概念剖析】多元函数的偏导数、方向导数、梯度以及微分之间的关系

    本篇文章,探讨下多元函数微分学下的一些知识点之间的关系.包括全微分.偏导数.方向导数.梯度.全导数等内容. 一.导数和微分到底是什么,以及为什么会有这些概念 导数和微分其实就是数学家创造的两个代数工具 ...

  10. 一阶方向导数与梯度和方向向量的关系及其应用

       一.基本概念    1.方向导数(Directional derivative)    方向导数是指在给定点沿着某个方向的导数,表示函数在该方向上的变化率. 具体而言,对于一个向量场 f ( x ...

最新文章

  1. 织梦首页常用调用标签
  2. ubuntu 设置开机启动与关闭开机启动(适用于部分linux系统)
  3. Windows7无损分区
  4. 阿里MySQL读写一致_阿里面试题:如何保证缓存与数据库的双写一致性?
  5. NOIP模拟测试26「嚎叫响彻在贪婪的机房·主仆见证了 Hobo 的离别·征途堆积出友情的永恒」...
  6. Console.Write(程序猿?开发?写代码?编程?移动、网页、桌面开发?Oh,我连菜鸟都不是!);...
  7. Python绘制傅里叶变换、反变换与带通滤波图像
  8. Linux入门(2)_给初学者的建议
  9. java输入两个整数_Java中从键盘输入多个整数的方法
  10. 前端系列——jquery.i18n.properties前端国际化解决方案“填坑日记”
  11. 【语音隐写】基于matlab GUI LSB语音信号数字水印【含Matlab源码 619期】
  12. 【脑电信号】基于matlab HMM睡眠状态检测【含Matlab源码 050期】
  13. 我的日程安排表(2022-6-6)(内含I、II、III的解法)
  14. 关于微信unionid理解
  15. 电脑常见的故障和解决办法
  16. win7怎么更改浏览器主页?win7浏览器主页更改教程
  17. Android app 启动优化
  18. 11岁的Tumblr:开启艰难禁黄之路
  19. 实现一个直播视频app源码的邀请码功能
  20. 我对INFOR WMS实施的一些感想

热门文章

  1. Apache Web服务器安全配置全攻略
  2. 打印计算机管理在哪里,电脑上打印过的文件在哪儿找? 只要4步
  3. MAC和夜神模拟器配置adb适配报错
  4. 基于java的oa协同办公系统_基于java的OA系统设计 毕业论文.doc
  5. springboot 实现自动屏蔽敏感词过滤器
  6. JavaScript经纬度和地图坐标相互转换
  7. Android Camera processCaptureResult 分析
  8. 第三方支付账务系统论述
  9. 电气火灾监控系统在太焦铁路博爱站房项目的应用
  10. ETERM航班销售控制指令