【Math】导数、梯度、雅可比矩阵、黑塞矩阵
导数、梯度、雅可比矩阵、黑塞矩阵都是与求导相关的一些概念,比较容易混淆,本文主要是对它们的使用场景和定义进行区分。
首先需要先明确一些函数的叫法(是否多元,以粗体和非粗体进行区分):
一元函数: f ( x ) : R ⟶ R f(x):\mathbb{R} \longrightarrow \mathbb{R} f(x):R⟶R多元函数: f ( x ) : R n ⟶ R f(\mathbf{x}):\mathbb{R}^{n} \longrightarrow \mathbb{R} f(x):Rn⟶R向量函数: f ( x ) : R n ⟶ R m \mathbf{f(x)}:\mathbb{R}^{n} \longrightarrow \mathbb{R}^{m} f(x):Rn⟶Rm
例如:
- 函数 y = x y=x y=x为一元函数
- 函数 y = x 1 + 2 x 2 y=x_1+2x_2 y=x1+2x2为多元函数
- 函数 { y 1 = x 1 + 2 x 2 y 2 = 2 x 1 + x 2 \begin{cases} y_1 =x_1+2x_2 \\ y_2=2x_1+x_2 \end{cases} {y1=x1+2x2y2=2x1+x2为向量函数
概念详解
导数
针对一元函数: f ( x ) : R ⟶ R f(x):\mathbb{R} \longrightarrow \mathbb{R} f(x):R⟶R,近似:
f ( x ) ≈ f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) f(x)\approx f(x_{0})+f^{\prime}(x_{0})(x-x_{0}) f(x)≈f(x0)+f′(x0)(x−x0)
梯度
针对多元函数: f ( x ) : R n ⟶ R f(\mathbf{x}):\mathbb{R}^{n} \longrightarrow \mathbb{R} f(x):Rn⟶R,是导数的推广, 它的结果是一个向量:
▽ f = [ ∂ f ∂ x 1 ∂ f ∂ x 2 . . . ∂ f ∂ x n ] \bigtriangledown f=\begin{bmatrix} \frac{\partial f}{\partial x_{1}} \\ \frac{\partial f}{\partial x_{2}} \\ ... \\ \frac{\partial f}{\partial x_{n}} \end{bmatrix} ▽f= ∂x1∂f∂x2∂f...∂xn∂f
近似:
f ( x ) ≈ f ( x 0 ) + ▽ f ( x 0 ) ( x − x 0 ) f(\mathbf{x} )\approx f(\mathbf{x}_{0})+\bigtriangledown f(\mathbf{x}_{0})(\mathbf{x}-\mathbf{x}_{0}) f(x)≈f(x0)+▽f(x0)(x−x0)
雅可比矩阵
针对向量函数: f ( x ) : R n ⟶ R m \mathbf{f(x)}:\mathbb{R}^{n} \longrightarrow \mathbb{R}^{m} f(x):Rn⟶Rm
如果函数 f ( x ) : R n ⟶ R m \mathbf{f(x)}:\mathbb{R}^{n} \longrightarrow \mathbb{R}^{m} f(x):Rn⟶Rm在点 x \mathbf{x} x处可微的话,在点 x \mathbf{x} x的雅可比矩阵即为该函数在该点的最佳线性逼近,也代表雅可比矩阵是一元函数的导数在向量函数的推广。在这种情况下,雅可比矩阵也被称作函数 f \mathbf{f} f在点 x \mathbf{x} x的微分或者导数,其中行数为 f \mathbf{f} f的维数;列数为 x \mathbf{x} x的维度。
J = [ ∂ f ∂ x 1 . . . ∂ f ∂ x n ] = [ ∂ f 1 ∂ x 1 . . . ∂ f 1 ∂ x n ⋮ ⋱ ⋮ ∂ f m ∂ x 1 . . . ∂ f m ∂ x n ] \mathbf{J}=\begin{bmatrix} \frac{\partial \mathbf{f}}{\partial x_{1}} & ... & \frac{\partial \mathbf{f}}{\partial x_{n}} \end{bmatrix} = \begin{bmatrix} \frac{\partial f_{1}}{\partial x_{1}} & ... & \frac{\partial f_{1}}{\partial x_{n}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_{m}}{\partial x_{1}} & ... & \frac{\partial f_{m}}{\partial x_{n}} \end{bmatrix} J=[∂x1∂f...∂xn∂f]= ∂x1∂f1⋮∂x1∂fm...⋱...∂xn∂f1⋮∂xn∂fm
矩阵分量:
J i j = ∂ f i ∂ x j \mathbf{J}_{ij}=\frac{\partial f_{i}}{\partial x_{j}} Jij=∂xj∂fi
近似:
f ( x ) ≈ f ( x 0 ) + J ( x 0 ) ( x − x 0 ) \mathbf{f}(\mathbf{x} )\approx \mathbf{f}(\mathbf{x}_{0})+ \mathbf{J}(\mathbf{x}_{0})(\mathbf{x}-\mathbf{x}_{0}) f(x)≈f(x0)+J(x0)(x−x0)
黑塞矩阵
针对多元函数: f : R n ⟶ R f:\mathbb{R}^{n} \longrightarrow \mathbb{R} f:Rn⟶R,有点二阶导数的意思。
H = [ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 . . . ∂ 2 f ∂ x 1 ∂ x n ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 . . . ∂ 2 f ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ∂ x n ∂ x 1 ∂ 2 f ∂ x n ∂ x 2 . . . ∂ 2 f ∂ x n 2 ] \mathbf{H}=\begin{bmatrix} \frac{\partial^{2} f}{\partial x_{1}^{2}} & \frac{\partial^{2} f}{\partial x_{1}\partial x_{2}} & ... & \frac{\partial^{2} f}{\partial x_{1}\partial x_{n}} \\ \frac{\partial^{2} f}{\partial x_{2}\partial x_{1}} & \frac{\partial^{2} f}{\partial x_{2}^{2}} & ... & \frac{\partial^{2} f}{\partial x_{2}\partial x_{n}} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial^{2} f}{\partial x_{n}\partial x_{1}} & \frac{\partial^{2} f}{\partial x_{n}\partial x_{2}} & ... & \frac{\partial^{2} f}{\partial x_{n}^{2}} \end{bmatrix} H= ∂x12∂2f∂x2∂x1∂2f⋮∂xn∂x1∂2f∂x1∂x2∂2f∂x22∂2f⋮∂xn∂x2∂2f......⋱...∂x1∂xn∂2f∂x2∂xn∂2f⋮∂xn2∂2f
矩阵分量:
H i j = ∂ 2 f ∂ x i ∂ x j \mathbf{H}_{ij}=\frac{\partial^{2} f}{\partial x_{i}\partial x_{j}} Hij=∂xi∂xj∂2f
近似:
f ( x ) ≈ f ( x 0 ) + ▽ f ( x 0 ) ( x − x 0 ) + 1 2 ( x − x 0 ) T H ( x 0 ) ( x − x 0 ) f(\mathbf{x} )\approx f(\mathbf{x}_{0})+\bigtriangledown f(\mathbf{x}_{0})(\mathbf{x}-\mathbf{x}_{0}) + \frac{1}{2}(\mathbf{x}-\mathbf{x}_{0})^{T}\mathbf{H}(\mathbf{x}_{0})(\mathbf{x}-\mathbf{x}_{0}) f(x)≈f(x0)+▽f(x0)(x−x0)+21(x−x0)TH(x0)(x−x0)
实例
对于最简单的一元函数 y = 2 x y=2x y=2x,则该一元函数的导数为: y ′ = 2 y^{\prime}=2 y′=2。这是最基础的了。
对于一个多元函数 y = x 1 4 x 2 + 3 x 2 + x 2 e x 3 y=x_1^4x_2+3x_2+x_2e^{x_3} y=x14x2+3x2+x2ex3,则:
该多元函数的梯度为:
▽ = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ∂ y ∂ x 3 ] = [ 4 x 1 3 x 2 x 1 4 + 3 + e x 3 x 2 e x 3 ] \bigtriangledown =\begin{bmatrix} \frac{\partial y}{\partial x_1} \\ \frac{\partial y}{\partial x_2} \\ \frac{\partial y}{\partial x_3} \end{bmatrix}=\begin{bmatrix} 4x_1^3x_2 \\ x_1^4+3+e^{x_3} \\ x_2e^{x_3}\end{bmatrix} ▽= ∂x1∂y∂x2∂y∂x3∂y = 4x13x2x14+3+ex3x2ex3
该多元函数的黑塞矩阵为:
H = [ ∂ 2 y ∂ x 1 2 ∂ 2 y ∂ x 1 ∂ x 2 ∂ 2 y ∂ x 1 ∂ x 3 ∂ 2 y ∂ x 2 ∂ x 1 ∂ 2 y ∂ x 2 2 ∂ 2 y ∂ x 2 ∂ x 3 ∂ 2 y ∂ x 3 ∂ x 1 ∂ 2 y ∂ x 3 ∂ x 2 ∂ 2 y ∂ x 3 2 ] = [ 12 x 1 2 x 2 4 x 1 3 0 4 x 1 3 0 e x 3 0 e x 3 x 2 e x 3 ] \mathbf{H}=\begin{bmatrix} \frac{\partial^{2} y}{\partial x_{1}^{2}} & \frac{\partial^{2} y}{\partial x_{1}\partial x_{2}} & \frac{\partial^{2} y}{\partial x_{1}\partial x_{3}} \\ \frac{\partial^{2} y}{\partial x_{2}\partial x_{1}} & \frac{\partial^{2} y}{\partial x_{2}^{2}} & \frac{\partial^{2} y}{\partial x_{2}\partial x_{3}} \\ \frac{\partial^{2} y}{\partial x_{3}\partial x_{1}} & \frac{\partial^{2} y}{\partial x_{3}\partial x_{2}} & \frac{\partial^{2} y}{\partial x_{3}^{2}} \end{bmatrix} = \begin{bmatrix} 12x_1^2x_2 & 4x_1^3 & 0\\ 4x_1^3 & 0 & e^{x_3}\\ 0 & e^{x_3} & x_2e^{x_3} \end{bmatrix} H= ∂x12∂2y∂x2∂x1∂2y∂x3∂x1∂2y∂x1∂x2∂2y∂x22∂2y∂x3∂x2∂2y∂x1∂x3∂2y∂x2∂x3∂2y∂x32∂2y = 12x12x24x1304x130ex30ex3x2ex3
视该多元函数的梯度为一个向量函数,即:
{ y 1 = 4 x 1 3 x 2 y 2 = x 1 4 + 3 + e x 3 y 3 = x 2 e x 3 \begin{cases} y_1 =4x_1^3x_2 \\ y_2=x_1^4+3+e^{x_3} \\ y_3=x_2e^{x_3} \end{cases} ⎩ ⎨ ⎧y1=4x13x2y2=x14+3+ex3y3=x2ex3
那么,该多元函数的雅可比矩阵为:
J = [ ∂ y 1 ∂ x 1 ∂ y 1 ∂ x 2 ∂ y 1 ∂ x 3 ∂ y 2 ∂ x 1 ∂ y 2 ∂ x 2 ∂ y 2 ∂ x 3 ∂ y 3 ∂ x 1 ∂ y 3 ∂ x 2 ∂ y 3 ∂ x 3 ] = [ 12 x 1 2 x 2 4 x 1 3 0 4 x 1 3 0 e x 3 0 e x 3 x 2 e x 3 ] \mathbf{J}= \begin{bmatrix} \frac{\partial y_{1}}{\partial x_{1}} & \frac{\partial y_{1}}{\partial x_{2}} & \frac{\partial y_{1}}{\partial x_{3}} \\ \frac{\partial y_{2}}{\partial x_{1}} & \frac{\partial y_{2}}{\partial x_{2}} & \frac{\partial y_{2}}{\partial x_{3}} \\ \frac{\partial y_{3}}{\partial x_{1}} & \frac{\partial y_{3}}{\partial x_{2}} & \frac{\partial y_{3}}{\partial x_{3}} \end{bmatrix} = \begin{bmatrix} 12x_1^2x_2 & 4x_1^3 & 0\\ 4x_1^3 & 0 & e^{x_3}\\ 0 & e^{x_3} & x_2e^{x_3} \end{bmatrix} J= ∂x1∂y1∂x1∂y2∂x1∂y3∂x2∂y1∂x2∂y2∂x2∂y3∂x3∂y1∂x3∂y2∂x3∂y3 = 12x12x24x1304x130ex30ex3x2ex3
可以看出,黑塞矩阵是多元函数 f ( x ) f(\mathbf{x}) f(x)的梯度对自变量 x \mathbf{x} x的雅可比矩阵。
总结
- 梯度是雅可比矩阵的一个特例:当向量函数为标量函数时( f \mathbf{f} f向量维度为1),雅可比矩阵是梯度向量
- 黑塞矩阵是多元函数 f ( x ) f(\mathbf{x}) f(x)的梯度对自变量 x \mathbf{x} x的雅可比矩阵
相关阅读
- 多元函数的泰勒(Taylor)展开式
- 梯度vs Jacobian矩阵vs Hessian矩阵
- 导数、梯度、 Jacobian、Hessian
相关文章:
【Math】导数、梯度、雅可比矩阵、黑塞矩阵
导数、梯度、雅可比矩阵、黑塞矩阵都是与求导相关的一些概念,比较容易混淆,本文主要是对它们的使用场景和定义进行区分。 首先需要先明确一些函数的叫法(是否多元,以粗体和非粗体进行区分): 一元函数&…...
【C语言】——调试技巧
目录 编辑 ①前言 1.什么是Bug? 2.什么是调试? 2.1调试的基本步骤 2.2Release与Debug 3.常用快捷键 4.如何写出好的代码 4.1常见的coding技巧 👉assert() 👉const() const修饰指针: ①前言 调试是每个程序员都…...
【Python】pytorch,CUDA是否可用,查看显卡显存剩余容量
CUDA可用,共有 1 个GPU设备可用。 当前使用的GPU设备索引:0 当前使用的GPU设备名称:NVIDIA T1000 GPU显存总量:4.00 GB 已使用的GPU显存:0.00 GB 剩余GPU显存:4.00 GB PyTorch版本:1.10.1cu102 …...
React16入门到入土
搭建环境 默认你已经安装好 node.js 安装 react 脚手架 学习的过程中,我们采用React官方出的脚手架工具 create-react-app npm install -g create-react-app如果提示没有权限,win 用户可以管理员打开终端,mac 用户 可以在前面加上 sudo …...
【GPT引领前沿】GPT4技术与AI绘图
推荐阅读: 1、遥感云大数据在灾害、水体与湿地领域典型案例实践及GPT模型应用 2、GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化技术 GPT对于每个科研人员已经成为不可或缺的辅助工具,不同的研究领域和项目具有不同的需求。例如在科研编程…...
【LeetCode】19. 删除链表的倒数第 N 个结点
19. 删除链表的倒数第 N 个结点(中等) 方法:快慢指针 思路 为了找到倒数第 n 个节点,我们应该先找到最后一个节点,然后从它开始往前数 n-1 个节点就是要删除的节点。 对于一般情况:设置 fast 和 slow 两个…...
spring boot3.x集成swagger出现Type javax.servlet.http.HttpServletRequest not present
1. 问题出现原因 spring boot3.x版本依赖于jakarta依赖包,但是swagger依赖底层应用的javax依赖包,所以只要已启动就会报错。 2. 解决方案 移除swagger2依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfo…...
《低代码指南》——智能化低代码开发实践案例
大模型能通过自然语言理解自动生成需求文档及代码供给低代码开发者使用,也具备自动检测和修复代码错误、自动优化代码、找出冗余并提供高效方案等自动化能力,为开发者带来需求模式、设计模式、开发模式的变化,节省时间成本、代码质量更优、进…...
268_C++_字节计算(((bits) + 7) / 8)、字节对齐(((number) + 3) / 4 * 4)
这段代码中包含了两个宏的定义,它们似乎用于进行位操作和字节对齐操作。让我们逐个来解析这两个宏: BITS_TO_BYTES(bits) 宏:#define BITS_TO_BYTES(bits) (((bits) + 7) / 8)这个宏的作用是将位数(bits)转换为字节数(bytes)。它的计算方式是将位数加上7,然后除以8,这…...
JavaWeb知识梳理(后端部分)
JavaWeb 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。 静态web资源开发技术࿱…...
AI:07-基于卷积神经网络的海洋生物的识别
当涉及海洋生物的识别和研究时,基于深度学习的方法已经展现出了巨大的潜力。深度学习模型可以利用大量的图像和标记数据来自动学习特征,并实现高准确度的分类任务。本文将介绍如何使用深度学习技术来实现海洋生物的自动识别,并提供相应的代码示例。 数据收集和预处理 要训…...
centos7下docker设置新的下载镜像源并调整存放docker下载镜像的仓库位置
目录 1.设置镜像源 2.调整存放下载镜像的仓库位置 1.设置镜像源 在 /etc/docker下创建一个daemon.json文件。在json中下入 "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"] 完成配置 加载配置 systemctl daemon-reload 重启docker sy…...
Gitea--私有git服务器搭建详细教程
一.官方文档 https://docs.gitea.com/zh-cn/说明 gitea 是一个自己托管的Git服务程序。他和GitHub, Gitlab等比较类似。他是从 Gogs 发展而来,gitea的创作团队重新fork了代码,并命名为giteagitea 功能特性多,能够满足我们所有的的代码管理需…...
SOLIDWORKS放样是什么意思?
SOLIDWORKS是一款广受欢迎的三维计算机辅助设计(CAD)软件,提供了许多强大的功能来帮助工程师实现他们的创意。其中一个重要的功能是放样功能,它在设计过程中起着至关重要的作用。本文将介绍SOLIDWORKS放样的概念、特点和应用。 放…...
Xcode打包ipa文件,查看app包内文件
1、Xcode发布ipa文件前,在info中打开如下两个选项,即可在手机上查看app包名文件夹下的文件及数据。...
AJAX学习笔记6 JQuery对AJAX进行封装
AJAX学习笔记5同步与异步理解_biubiubiu0706的博客-CSDN博客 AJAX请求相关的代码都是类似的,有很多重复的代码,这些重复的代码能不能不写,能不能封装一个工具类。要发送ajax请求的话,就直接调用这个工具类中的相关函数即可。 用J…...
阿里云服务器退款规则_退款政策全解析
阿里云退款政策全解析,阿里云退款分为五天无理由全额退和非全额退订两种,阿里云百科以云服务器为例,阿里云服务器包年包月支持五天无理由全额退订,可申请无理由全额退款,如果是按量付费的云服务器直接释放资源即可。阿…...
ExpressLRS开源之基本调试数据含义
ExpressLRS开源之基本调试数据含义 1. 源由2. 代码2.1 debugRcvrLinkstats2.2 debugRcvrSignalStats 3. 含义解释3.1 ID(packetCounter),Antenna,RSSI(dBm),LQ,SNR,PWR,FHSS,TimingOffset3.2 IRQ_CNT,RSSI_AVE,SNR_AVE,SNV_MAX,TELEM_CNT,FAIL_CNT 4. 总结5. 参考资料 1. 源由 …...
DOM 简介 | 深入了解DOM
目录 一、DOM是什么 二、DOM的访问 三、DOM节点类型 四、DOM的分级 今天我们将了解WEB编程中一个重要的概念DOM(Document Object Model)文档对象模型,它帮助我们使用JavaScript(或其他编程语言)操纵文档。 一、DO…...
机器学习丨2. 线性回归(Linear Regression)
Author:AXYZdong 硕士在读 工科男 有一点思考,有一点想法,有一点理性! 定个小小目标,努力成为习惯!在最美的年华遇见更好的自己! CSDNAXYZdong,CSDN首发,AXYZdong原创 唯…...
Flutter GetX实战:从Provider迁移到GetX,我的开发效率提升了多少?
Flutter GetX实战:从Provider迁移到GetX的效率革命 当Flutter开发团队面临状态管理方案的选择时,往往会陷入一种甜蜜的烦恼——官方推荐的Provider虽然稳定可靠,但第三方库GetX却以"全家桶"式的解决方案不断吸引开发者的目光。作为…...
如何免费解锁WeMod专业版:2026年终极完整指南
如何免费解锁WeMod专业版:2026年终极完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod专业版的高昂费用而烦恼吗…...
ViGEmBus终极指南:Windows游戏手柄模拟驱动的完整解决方案
ViGEmBus终极指南:Windows游戏手柄模拟驱动的完整解决方案 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾经遇到过这样的情况ÿ…...
低多边形≠简陋!掌握这7个结构化Prompt技巧,3分钟产出可商用IP形象(附Figma网格对齐校验表)
更多请点击: https://intelliparadigm.com 第一章:低多边形设计的认知革命:从“简陋感”到“结构化美学” 低多边形(Low-Poly)设计曾长期被误读为建模能力不足的妥协产物,但其本质是一场对数字视觉语法的系…...
百度网盘直链解析工具:告别限速,实现高速下载的Python解决方案
百度网盘直链解析工具:告别限速,实现高速下载的Python解决方案 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 在数字资源共享日益频繁的今天ÿ…...
从零构建Go Web框架:解析the0极简框架的设计原理与实现
1. 项目概述:一个极简主义Web框架的诞生在Web开发的世界里,我们常常面临一个选择:是拥抱功能齐全但略显臃肿的“巨无霸”框架,还是追求极致轻量与灵活的自定义方案?对于许多追求性能、热爱掌控感,或是需要构…...
g1810,g3810,ip2700,g5080,g1800,ts3380,TS8380,ts6480报错5B00,P07,E08,5b02,1704,1700,5b04,佳能v6.200,亲测有用。
下载:点这里下载 备用下载:https://pan.baidu.com/s/1WrPFvdV8sq-qI3_NgO2EvA?pwd0000 常见型号如下: G系列 G1000、G1100、G1200、G1400、G1500、G1800、G1900、G1010、G1110、G1120、G1410、G1420、G1411、G1510、G1520、G1810、G1820、…...
Kubernetes上Jenkins全栈部署:动态Agent与生产环境调优指南
1. 项目概述:一个面向Kubernetes的Jenkins全栈部署方案在容器化和云原生技术成为主流的今天,如何高效、稳定地部署和管理持续集成/持续交付(CI/CD)流水线,是每个开发团队和运维工程师必须面对的课题。传统的单体Jenkin…...
基于强化学习的机器人抓取:从PPO/SAC算法到仿真部署全解析
1. 项目概述:一个基于强化学习的机器人抓取开源项目最近在机器人控制领域,强化学习(Reinforcement Learning, RL)的应用越来越火,尤其是在需要高精度、高适应性的任务上,比如机器人抓取。传统的抓取规划方法…...
Arm CoreLink PCK-600电源管理套件解析与应用实践
1. Arm CoreLink PCK-600电源控制套件概述在现代SoC设计中,电源管理已经成为一个关键的技术挑战。随着移动设备和物联网应用的普及,如何在保证性能的同时最大限度地降低功耗,成为芯片设计者面临的核心问题。Arm CoreLink PCK-600电源控制套件…...
