直观理解梯度,以及偏导数、方向导数和法向量等

博客:blog.shinelee.me | 博客园 | CSDN

写在前面

梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法),虽然常说常听常见,但其细节、物理意义以及几何解释还是值得深挖一下,这些不清楚,梯度就成了“熟悉的陌生人”,仅仅“记住就完了”在用时难免会感觉不踏实,为了“用得放心”,本文将尝试直观地回答以下几个问题,

  • 梯度与偏导数的关系?
  • 梯度与方向导数的关系?
  • 为什么说梯度方向是上升最快的方向,负梯度方向为下降最快的方向?
  • 梯度的模有什么物理意义?
  • 等高线图中绘制的梯度为什么垂直于等高线?
  • 全微分与隐函数的梯度有什么关系?
  • 梯度为什么有时又成了法向量?

闲话少说,书归正传。在全篇“作用域”内,假定函数可导。

偏导数

在博文《单变量微分、导数与链式法则 博客园 | CSDN | blog.shinelee.me》中,我们回顾了常见初等函数的导数,概括地说,

导数是一元函数的变化率(斜率)。导数也是函数,是函数的变化率与位置的关系。

如果是多元函数呢?则为偏导数

偏导数是多元函数“退化”成一元函数时的导数,这里“退化”的意思是固定其他变量的值,只保留一个变量,依次保留每个变量,则 N N N元函数有 N N N个偏导数。

以二元函数为例,令 z = f ( x , y ) z=f(x,y) z=f(x,y),绘制在3维坐标系如下图所示,

z = f(x, y)

在分别固定 y y y x x x的取值后得到下图中的黑色曲线——“退化”为一元函数,二维坐标系中的曲线——则偏导数 ∂ z ∂ x \frac{\partial {z}}{\partial {x}} xz ∂ z ∂ y \frac{\partial z}{\partial y} yz分别为曲线的导数(切线斜率)

partial derivative x

partial derivative y

由上可知,一个变量对应一个坐标轴,偏导数为函数在每个位置处沿着自变量坐标轴方向上的导数(切线斜率)

Partial derivative

方向导数

如果是方向不是沿着坐标轴方向,而是任意方向呢?则为方向导数。如下图所示,点 P P P位置处红色箭头方向的方向导数为黑色切线的斜率,来自链接Directional Derivative

Directional Derivative

方向导数为函数在某一个方向上的导数,具体地,定义 x y xy xy平面上一点 ( a , b ) (a, b) (a,b)以及单位向量 u ⃗ = ( cos ⁡ θ , sin ⁡ θ ) \vec u = (\cos \theta ,\sin \theta ) u =(cosθ,sinθ),在曲面 z = f ( x , y ) z=f(x, y) z=f(x,y)上,从点 ( a , b , f ( a , b ) ) (a,b, f(a,b)) (a,b,f(a,b))出发,沿 u ⃗ = ( cos ⁡ θ , sin ⁡ θ ) \vec u = (\cos \theta ,\sin \theta ) u =(cosθ,sinθ)方向走 t t t单位长度后,函数值 z z z F ( t ) = f ( a + t cos ⁡ θ , b + t sin ⁡ θ ) F(t)=f(a+t \cos \theta, b + t \sin \theta) F(t)=f(a+tcosθ,b+tsinθ),则点 ( a , b ) (a,b) (a,b) u ⃗ = ( cos ⁡ θ , sin ⁡ θ ) \vec u = (\cos \theta ,\sin \theta ) u =(cosθ,sinθ)方向的方向导数为:
d d t f ( a + t cos ⁡ θ , b + t sin ⁡ θ ) ∣ t = 0 = lim ⁡ t → 0 f ( a + t cos ⁡ θ , b + t sin ⁡ θ ) − f ( a , b ) t = lim ⁡ t → 0 f

  • 25
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值