微积分 --- 偏导数,方向导数与梯度(二)

方向导数

        上图为一温度图,所反映的是加利福利亚洲和内华达州在十月的一天下午三点的温度。其中,图中的每一点都是温度T关于x,y的函数,即T(x,y)。对于图中的Reno市而言,沿着x方向的偏导T_{x}反映的是温度沿着x方向,即沿着东方的变化率。沿着y方向的偏导T_{y}反映了温度沿着北方,即y方向的变化率。这些偏导数的求法在介绍偏导数的时候都已经知道了。但如果我现在要求图中一任意方向的变化率呢,也就是图中用红色“❓”标出来的方向的变化率?

        这就好比是我在偏导数中所使用的酷热指数heat index表格中,我要求温度指数在某一点处即不是沿着x也不是沿着y而是沿着指定的某一个方向的偏导该怎么求?

        这就是方向导数所要解决的问题。他能让我们找到函数在某一点处沿任意方向的导数,这就是说如果原来的偏导数只能解决偏x或者偏y的问题,但方向导数能够解决即偏x也偏y的问题。可见方向导数就是函数在某一点处沿着某一方向的导数。

        对上图而言,已知曲面S是二元函数z=f(x,y)在三维坐标系中的函数图像,其中z0=f(x0,y0)。点P(x0,y0,z0)为曲面S上的一点。此外,单位向量i=[1,0]表示沿x轴方向,单位向量j=[0,1]表示沿y轴方向,任意方向的单位向量u=[a,b]=ai+bj。沿方向u的垂直平面与曲面S的交线为C,该曲线上过P点的切线T的斜率即为z在方向u上的变化率,也就是函数在u方向上的导数。

        曲线C上的另一点Q(x,y,z)为,点P和Q在x-y平面上的投影为P',Q'。则向量P'Q'与单位向量u的方向相同,大小为单位向量u的h倍:

\overrightarrow{P'Q'}=hu=[ha,hb]

这样一来:

x=x_{0}+ha,y=y_{0}+hb

z=f(x,y)=f(x_{0}+ha,y_{0}+hb) 

又:

 z_{0}=f(x_{0},y_{0})

根据导数的定义,函数z=f(x,y)在u方向上的变化率为:

取h趋近于0的极限,得到函数在方向u上的瞬时变化率,这就是函数f在方向u上的方向导数

若方向u与x轴正向的方向相同,则u=i=[1,0] ---》a=1,b=0,得到hu=[h,0]。代入公式得到:

D_{i}f(x_{0},y_{0})=\lim_{h \to 0}\frac{f(x_{0}+h,y_{0})-f(x_{0},y_{0})}{h} 

 若u与y轴方向相同,u=j=[0,1] ---》a=0,b=1,得到hu=[0,h]。代入公式得到:

D_{j}f(x_{0},y_{0})=\lim_{h \to 0}\frac{f(x_{0},y_{0}+h)-f(x_{0},y_{0})}{h}

 这和直接用偏导数的计算公式算出来的一样:

这就是说,如果方向导数是一个集合的话,偏导数一定属于这个集合。或者说,偏导数是方向导数的一个特例。


此外,如果我们定义一个关于自变量h的函数g(h):

g(h)=f(x_{0}+ha,y_{0}+hb)

根据导数的定义,函数在h=0处的导数为:

另一方面,我们还可以把函数g(h)用复合函数来表示:

g(h)=f(x_{0}+ha,y_{0}+hb)\Rightarrow g(h)=f(x,y),where \; x=x_{0}+ha,y=y_{0}+hb

根据链式求导法则有:

再令h=0,则有:

x=x_{0},y=y_{0}

最后,把4式与5式放在一起,我们有:

        这个式子说明,函数f在任意方向u上的方向导数等于x方向的偏导数与一个系数的乘积与y方向的偏导数与一个系数的乘积之和。


梯度

        如果我们对定理3中的公式做进一步改写,我们有:

如此一来,我们就把方向导数的公式写成了两个向量的内积或点积的形式。

如果我们暂且用▽f来表示上式中点积前面的那个向量:

则根据点积的另一种计算方法,方向导数的公式可改写为:

其中θ为向量▽f与向量u之间的夹角,当cosθ=1时达到最大值,此时夹角为0,u与▽f同向,方向导数的值为|▽f|。也就是,在众多个方向u中,当u转到和▽f的方向一致时,此时函数f的增加幅度最大,|▽f|非负。因为在所有的方向中,这个方向的增速最大,因此向量▽f是一个十分特殊的向量,我们称之为梯度

        这也正是深度学习中令损失函数最小化时,用到的梯度下降法中反复提及的朝着梯度相反的方向的原因。

Tips:点积的两种算法


 (全文完) 

--- 作者,松下J27

微积分 --- 偏导数,方向导数与梯度(一)-CSDN博客文章浏览阅读266次,点赞9次,收藏13次。关于偏导,方向导数和梯度的学习笔记。https://blog.csdn.net/daduzimama/article/details/138483006

参考文献:

1,线性代数 --- 向量的内积(点积)(个人学习笔记)_线性代数向量的内积怎么算-CSDN博客

2,Calculus --- James Stewart,page 988 chapter 14

版权声明:所有的笔记,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/671519.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker 的网络实现

简介 标准的 Docker 支持以下 4 类网络模式: 1)host 模式:使用 --nethost 指定 2)container 模式:使用–netcontainer:NAME_or_ID 指定 3)none模式:使用 --netnone 指定 4)bridge 模…

19 内核开发-内核源码编译

19 内核开发-内核源码编译 (1)开始准备 安装好virtual box ubuntu 系统后,即可下载内核代码,进行编译 历史内核源码地址:https://mirrors.tuna.tsinghua.edu.cn/kernel/v5.x/ 下载 linux-5.10.102.tar.gz 的包,可以使用wget 命令 创建编译目…

Java二维码、条码生成及解码工具类

功能描述 生成二维码、条码解码使用谷歌的zxing依赖 引入依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.4.1</version> </dependency><dependency><groupId>…

帆软报表9.0连接达梦数据库

一、将驱动复制到帆软安装目录下 二、配置数据库连接 注意&#xff1a;dm.jdbc.driver.DmDriver是直接在文本框输入的 进行以上两部就能连接达梦数据库了

接口自动化测试之-requests模块详解

一、requests背景 Requests 继承了urllib2的所有特性。Requests支持HTTP连接保持和连接池&#xff0c;支持使用cookie保持会话&#xff0c;支持文件上传&#xff0c;支持自动确定响应内容的编码&#xff0c;支持国际化的 URL 和 POST 数据自动编码。 二、requests安装 利用p…

(二)JSP教程——taglib指令

创建标签文件 首先创建一个Web项目&#xff0c;在webapp/WEB-INF目录下创建一个tags文件夹 在tags文件夹中创建一个oddNumberSum.tag文件&#xff0c;Tag文件时扩展名为.tag的文本文件&#xff0c;其结构和JSP文件非常相似&#xff0c;该文件的目录结构如图所示 创建Tag文件的…

SOLIDWORKS Electrical电气智能零部件的运用

电气2D向电气3D转型&#xff0c;3D模型无疑是重中之重&#xff0c;精准、正确的3D模型有利于电线长度、空间大小、耗材的计算。而线槽、导轨因为要根据实际情况裁剪&#xff0c;所以即使同一规格的线槽、导轨&#xff0c;在装配时也得根据实际情况&#xff0c;修改长度&#xf…

Adobe Illustrator 2024 for Mac:矢量图形设计软件

Adobe Illustrator 2024 for Mac是一款专为Mac用户设计的行业标准矢量图形设计软件。该软件以其卓越的性能和丰富的功能&#xff0c;为设计师和艺术家们提供了一个全新的创意空间。 作为一款矢量图形软件&#xff0c;Adobe Illustrator 2024 for Mac支持创建高质量的矢量图形&a…

视频改字祝福 豪车装X系统源码uniapp前端小程序源码

视频改字祝福 豪车装X系统源码uniapp前端小程序源码&#xff0c;创意无限&#xff01;AI视频改字祝福&#xff0c;豪车装X系统源码开源&#xff0c;打造个性化祝 福视频不再难&#xff01; 想要为你的朋友或家人送上一份特别的祝福&#xff0c;让他们感受到你的真诚与关怀吗&am…

虚拟键代码

虚拟键代码 虚拟键码 (Winuser.h) - Win32 apps | Microsoft Learn 在Windows操作系统中&#xff0c;虚拟键代码&#xff08;Virtual-Key Codes&#xff09;是一组用来表示键盘上按键的数值。这些代码通常用于Windows API函数&#xff0c;以便程序能够识别和处理键盘输入。 虚拟…

【C语言刷题系列】移除元素

目录 一、问题描述 二、解题思路 三、源代码 个人主页&#xff1a; 倔强的石头的博客 系列专栏 &#xff1a;C语言指南 C语言刷题系列 一、问题描述 二、解题思路 在C语言中&#xff0c;原地移除数组中所有等于特定值的元素并返回新长度的问题可以通过双指针法…

SpringCloud——consul

SpringCloud——consul 一、consul安装与运行二、consul 实现服务注册与发现1.引入2.服务注册3.服务发现 三、consul 分布式配置1.基础配置2.动态刷新3.配置持久化 四、参考 Eureka已经停止更新了&#xff0c;consul是独立且和微服务功能解耦的注册中心&#xff0c;而不是单独作…