雅可比矩阵和Hessian矩阵

2023-11-14

Jacobian矩阵和Hessian矩阵

1. Jacobian

在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式. 还有, 在代数几何中, 代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个代数群, 曲线可以嵌入其中. 它们全部都以数学家卡尔·雅可比(Carl Jacob, 1804年10月4日-1851年2月18日)命名;英文雅可比量”Jacobian”可以发音为[ja ˈko bi ən]或者[ʤə ˈko bi ən].

雅可比矩阵

雅可比矩阵的重要性在于它体现了一个可微方程与给出点的最优线性逼近. 因此, 雅可比矩阵类似于多元函数的导数.

假设 F F RnRm Rn→Rm是一个从欧式n维空间转换到欧式m维空间的函数. 这个函数由m个实函数组成: y1(x1,…,xn), …, ym(x1,…,xn). 这些函数的偏导数(如果存在)可以组成一个m行n列的矩阵, 这就是所谓的雅可比矩阵:

y1x1ymx1y1xnymxn [∂y1∂x1⋯∂y1∂xn⋮⋱⋮∂ym∂x1⋯∂ym∂xn]

此矩阵表示为:  JF(x1,,xn) JF(x1,…,xn), 或者 (y1,,ym)(x1,,xn) ∂(y1,…,ym)∂(x1,…,xn).

这个矩阵的第i行是由梯度函数的转置yi(i=1,…,m)表示的.

如果 p p Rn Rn中的一点,  F F p p点可微分, 那么在这一点的导数由 JF(p) JF(p)给出(这是求该点导数最简便的方法). 在此情况下, 由 F(p) F(p)描述的线性算子即接近点 p p F F的最优线性逼近,  x x逼近于 p p:

F(x)F(p)+JF(p)(xp) F(x)≈F(p)+JF(p)⋅(x–p)

雅可比行列式

如果m = n, 那么 F F是从n维空间到n维空间的函数, 且它的雅可比矩阵是一个方块矩阵. 于是我们可以取它的行列式, 称为雅可比行列式.

在某个给定点的雅可比行列式提供了 在接近该点时的表现的重要信息. 例如, 如果连续可微函数 F F p p点的雅可比行列式不是零, 那么它在该点附近具有反函数. 这称为反函数定理. 更进一步, 如果 p p点的雅可比行列式是正数, 则 F F p p点的取向不变;如果是负数, 则 F F的取向相反. 而从雅可比行列式的绝对值, 就可以知道函数 F F p p点的缩放因子;这就是为什么它出现在换元积分法中.

对于取向问题可以这么理解, 例如一个物体在平面上匀速运动, 如果施加一个正方向的力 F F, 即取向相同, 则加速运动, 类比于速度的导数加速度为正;如果施加一个反方向的力 F F, 即取向相反, 则减速运动, 类比于速度的导数加速度为负.

2. 海森Hessian矩阵

在数学中, 海森矩阵(Hessian matrix或Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵, 此函数如下:

f(x1,x2,xn) f(x1,x2…,xn)

如果 f f的所有二阶导数都存在, 那么 f f的海森矩阵即:

H(f)ij(x)=DiDjf(x) H(f)ij(x)=DiDjf(x)

其中 x=(x1,x2,xn) x=(x1,x2…,xn), 即 H(f) H(f)为:

2fx212fx2x12fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fx2n [∂2f∂x12∂2f∂x1∂x2⋯∂2f∂x1∂xn∂2f∂x2∂x1∂2f∂x22⋯∂2f∂x2∂xn⋮⋮⋱⋮∂2f∂xn∂x1∂2f∂xn∂x2⋯∂2f∂xn2]

(也有人把海森定义为以上矩阵的行列式)海森矩阵被应用于牛顿法解决的大规模优化问题.

海森矩阵在牛顿法中的应用

一般来说, 牛顿法主要应用在两个方面, 1, 求方程的根; 2, 最优化.

1), 求解方程

并不是所有的方程都有求根公式, 或者求根公式很复杂, 导致求解困难. 利用牛顿法, 可以迭代求解.

原理是利用泰勒公式, 在 x0 x0处展开, 且展开到一阶, 即 f(x)=f(x0)+(xx0)f(x0) f(x)=f(x0)+(x–x0)f′(x0)

求解方程 f(x)=0 f(x)=0, 即 f(x0)+(xx0)f(x0)=0 f(x0)+(x–x0)f′(x0)=0, 求解 x=x1=x0f(x0)/f(x0) x=x1=x0–f(x0)/f′(x0), 因为这是利用泰勒公式的一阶展开,  f(x)=f(x0)+(xx0)f(x0) f(x)=f(x0)+(x–x0)f′(x0)处并不是完全相等, 而是近似相等, 这里求得的 x1 x1并不能让 f(x)=0 f(x)=0, 只能说 f(x1) f(x1)的值比 f(x0) f(x0)更接近 f(x)=0 f(x)=0, 于是乎, 迭代求解的想法就很自然了, 可以进而推出 xn+1=xnf(xn)/f(xn) xn+1=xn–f(xn)/f′(xn), 通过迭代, 这个式子必然在 f(x)=0 f(x∗)=0的时候收敛. 整个过程如下图:

2), 最优化

在最优化的问题中, 线性最优化至少可以使用单纯形法(或称不动点算法)求解, 但对于非线性优化问题, 牛顿法提供了一种求解的办法. 假设任务是优化一个目标函数 f f, 求函数 f f的极大极小问题, 可以转化为求解函数 f f的导数 f=0 f′=0的问题, 这样求可以把优化问题看成方程求解问题( f=0 f′=0). 剩下的问题就和第一部分提到的牛顿法求解很相似了.

这次为了求解 f=0 f′=0的根, 把 f(x) f(x)的泰勒展开, 展开到2阶形式:

f(x+Δx)=f(x)+f(x)Δx+12f′′(x)Δx2 f(x+Δx)=f(x)+f′(x)Δx+12f″(x)Δx2

这个式子是成立的, 当且仅当  Δx Δx 无限趋近于0时,  f(x+Δx)=f(x) f(x+Δx)=f(x), 约去这两项, 并对余项式 f(x)Δx+12f(x)Δx2=0 f′(x)Δx+12f”(x)Δx2=0 Δx Δx求导(注:  f(x) f′(x) f(x) f”(x)均为常数项. 此时上式等价与:

f(x)+f′′(x)Δx=0 f′(x)+f″(x)Δx=0

求解:

Δx=f(xn)f′′(xn) Δx=−f′(xn)f″(xn)

得出迭代公式:

xn+1=xnf(xn)f′′(xn),n=0,1,... xn+1=xn−f′(xn)f″(xn),n=0,1,...

一般认为牛顿法可以利用到曲线本身的信息, 比梯度下降法更容易收敛(迭代更少次数), 如下图是一个最小化一个目标方程的例子, 红色曲线是利用牛顿法迭代求解, 绿色曲线是利用梯度下降法求解.

在上面讨论的是2维情况, 高维情况的牛顿迭代公式是:

xn+1=xn[Hf(xn)]1f(xn),n0 xn+1=xn−[Hf(xn)]–1∇f(xn),n≥0

其中H是hessian矩阵, 定义见上. 

高维情况依然可以用牛顿迭代求解, 但是问题是Hessian矩阵引入的复杂性, 使得牛顿迭代求解的难度大大增加, 但是已经有了解决这个问题的办法就是Quasi-Newton method, 不再直接计算hessian矩阵, 而是每一步的时候使用梯度向量更新hessian矩阵的近似.


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

雅可比矩阵和Hessian矩阵 的相关文章

随机推荐

  • 202.为用户定义的数据类型绑定规则案例

    示例说明 下面的示例演示了如何把规则绑定到列和用户定义的数据类型 并且演示了修改绑定于列和用户定义的数据类型的规则时 这两者之间的差异 定义数据类型 EXEC sp addtype ut age int null GO 为ut age定义规
  • 四层协议和七层协议详解

    一 TCP IP网络分层模型 四层协议 TCP IP的设计者创造性的提出 分层 的概念 把复杂的网络通信划分出多个层次 再给每一层分配不同的职责 采用 分而治之 的方法解决了网络通信的难题 TCP IP是一个纯软件的栈 缺少物理设备 TCP
  • 通过IP地址进行精准定位技术、方法与隐私问题的探讨

    导语 随着互联网和移动设备的普及 通过IP地址进行精准定位已成为现实 这一技术的发展带来了许多便利 但也引发了隐私问题的关注 本文将探讨通过IP地址进行精准定位的技术 方法以及涉及的隐私问题 技术和方法 IP地址的基本原理 IP地址是一个数
  • Elasticsearch使用系列-ES增删查改基本操作+ik分词

    一 安装可视化工具Kibana ES是一个NoSql数据库应用 和其他数据库一样 我们为了方便操作查看它 需要安装一个可视化工具 Kibana 官网 https www elastic co cn downloads kibana 和前面安
  • vue自定义指令---长按执行

    首先创建longpress js文件 import Vue from vue Vue directive longpress bind function el binding vNode if typeof binding value fu
  • Java中Transactional注解业务方法里面try catch会导致事务注解失效吗

    在 Java 中 使用 try catch 语句来捕获异常是很常见的 但是 在使用了 Transactional 注解的业务方法内部使用 try catch 语句并不会导致事务注解失效 当在带有 Transactional 注解的方法中使用
  • 【MifareClassicTool】小米NFC手机模拟加密门禁详细教程(Android手机通用)

    mifare官方最新版地址https www icaria de mct releases 3 0 资源名称 MifareClassicTool 资源分类 Android NFC类软件 资源大小 960 5 Kb 资源版本 V2 2 3 准
  • python中chr()函数和ord()函数的用法

    Python内置函数 一 chr 函数 格式 Chr lt 数值表达式 gt 说明 函数返回值类型为String 其数值表达式值取值范围为0 255 以下是 chr 方法的语法 chr i i 可以是10进制也可以是16进制的形式的数字 返
  • 【Matting】MODNet:实时人像抠图模型-笔记

    paper MODNet Real Time Trimap Free Portrait Matting via Objective Decomposition AAAI 2022 github https github com ZHKKKe
  • 无向图染色

    题目描述 给一个无向图染色 可以填红黑两种颜色 必须保证相邻两个节点不能同时为红色 输出有多少种不同的染色方案 输入描述 第 行输入M 图中节点数 N 边数 后续N行格式为 V1V2表示一个V1到V2的边 数据范围 1 lt M lt 15
  • Java中抽象类和接口区别

    简单概括下Java中抽象类和接口直接的区别 可以概括为如下几点 1 一个类可以实现多个接口 但却只能继承最多一个抽象类 2 抽象类可以包含具体的方法 接口的所有方法都是抽象的 3 抽象类可以声明和使用字段 接口则不能 但接口可以创建静态的f
  • CAT1和CAT4的区别

    现今 CAT1的发展势头一直很迅猛 那为什么CAT4不能替代CAT1的地位呢 我们来看下面几点 成本 1 网络建设方面 Cat1可以无缝接入现有LTE网络当中 无需针对基站进行软硬件升级 网络覆盖成本低 2 芯片成本方面 经过系统优化后 模
  • 在vue3项目中使用新版高德地图

    高德开发平台 高德开放平台 高德地图API amap com 1 首先你要注册好账号登录 2 获取key和密钥 自2021年12月02日升级 升级之后所申请的 key 必须配备安全密钥 jscode 一起使用 NPM方式安装和使用 基础版
  • 【VS2019/C++/报错】由于找不到libmysql.dll/由于找不到libssl-1_1-x64.dll,无法继续执行代码

    错误描述 属性页的包含目录和库目录都加了 链接器的lib也加了 但是运行时报错找不到libmysql dll 把libmysql dll文件放到项目文件夹内和系统文件夹C Windows SysWOW64都没用 开始报 找不到libssl
  • android AndroidManifest的category

    CATEGORY ALTERNATIVE 设置这个activity是否可以被认为是用户正在浏览的数据的一个可选择的action CATEGORY APP BROWSER 和ACTION MAIN一起使用 用来启动浏览器应用程序 CATEGO
  • SystemviewV3.3工具使用

    SystemviewV3 3工具使用 工具下载 移植 错误解决方式 使用方法 工具下载 Systemview下载地址 移植 以不带操作系统的移植方式为例 移植源码位于 工程加入以下文件 错误解决方式 keil下多重定义问题 Objects
  • 关于TP5多语言BUG的解决办法(直接上代码)

    按照手册配置 默认语言没有反应 跳转页面之后 也没有检测当前的语言 很尴尬 最大的bug在这里 1 请用下面代码覆盖 thinkPhp library think Lang php 里面的detect 自动检测语言方法 自动侦测设置获取语言
  • jQuery 获取当前节点的html包含当前节点的方法 --$(".test").prop("outerHTML");

    在开发过程中 jQuery html 是获取当前节点下的html代码 并不包含当前节点本身的代码 然后我们有时候确需要 找遍jQuery api文档也没有任何方法可以拿到 看到有的人通过parent html 如果当前元素没有兄弟元素还行
  • Python subplots() 使用说明

    plt subplots 官方教程 link 参数 matplotlib pyplot subplots nrows 1 ncols 1 sharex False sharey False squeeze True subplot kw N
  • 雅可比矩阵和Hessian矩阵

    Jacobian矩阵和Hessian矩阵 1 Jacobian 在向量分析中 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵 其行列式称为雅可比行列式 还有 在代数几何中 代数曲线的雅可比量表示雅可比簇 伴随该曲线的一个代数群 曲线可以嵌入其