泰勒展开与黑塞矩阵(Hessian Matrix)
黑塞矩阵(Hessian Matrix),又译作海森矩阵、海瑟矩阵、海塞矩阵等,是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。黑塞矩阵最早于19世纪由德国数学家Ludwig Otto Hesse提出,并以其名字命名。黑塞矩阵常用于牛顿法解决优化问题,利用黑塞矩阵可判定多元函数的极值问题。在工程实际问题的优化设计中,所列的目标函数往往很复杂,为了使问题简化,常常将目标函数在某点邻域展开成泰勒多项式来逼近原函数,此时函数在某点泰勒展开式的矩阵形式中会涉及到黑塞矩阵。
在工程实际问题的优化设计中,所列的目标函数往往很复杂,为了使问题简化,常常将目标函数在某点邻域展开成泰勒多项式来逼近原函数。
二元函数的黑塞矩阵
根据高等数学知识,若一元函数 f(x)f(x)f(x) 在 x=x(0)x=x^{(0)}x=x(0) 点某个领域内具有任意阶导数,则 f(x)f(x)f(x) 在 x(0)x^{(0)}x(0)处的泰勒展开式为
f(x)=f(x(0))+f′(x(0))Δx+12f′′(x(0))(Δx)2+...f(x)=f(x^{(0)})+f^\prime(x^{(0)})\Delta x+\frac{1}{2}f^{\prime\prime}(x^{(0)})(\Delta x)^2+... f(x)=f(x(0))+f′(x(0))Δx+21f′′(x(0))(Δx)2+...
其中 Δx=x−x(0),Δx2=(x−x(0))2\Delta x=x-x^{(0)}, \Delta x^2=(x-x^{(0)})^2Δx=x−x(0),Δx2=(x−x(0))2
对于二元函数 f(x1,x2)f(x_1, x_2)f(x1,x2) 在X(0)(x1(0),x2(0))X^{(0)}(x_1^{(0)}, x_2^{(0)})X(0)(x1(0),x2(0)) 点处的泰勒展开式为:
f(x1,x2)=f(x1(0),x2(0))+∂f∂x1∣X(0)Δx1+∂f∂x2∣X(0)Δx2+12[∂2f∂x12∣X(0)Δx12+2∂2f∂x1∂x2∣X(0)Δx1Δx2+∂2f∂x22∣X(0)Δx22]+...f(x_1,x_2)=f(x_1^{(0)}, x_2^{(0)})+\frac{\partial f}{\partial x_1}\bigg |_{X^{(0)}}\Delta x_1+\frac{\partial f}{\partial x_2}\bigg |_{X^{(0)}} \Delta x_2+\frac{1}{2}[\frac{\partial^2 f}{\partial x_1^2}\bigg |_{X^{(0)}}\Delta x_1^2+2\frac{\partial^2 f}{\partial x_1\partial x_2}\bigg |_{X^{(0)}}\Delta x_1\Delta x_2+\frac{\partial^2 f}{\partial x_2^2}\bigg |_{X^{(0)}}\Delta x_2^2]+... f(x1,x2)=f(x1(0),x2(0))+∂x1∂f∣∣∣∣X(0)Δx1+∂x2∂f∣∣∣∣X(0)Δx2+21[∂x12∂2f∣∣∣∣X(0)Δx12+2∂x1∂x2∂2f∣∣∣∣X(0)Δx1Δx2+∂x22∂2f∣∣∣∣X(0)Δx22]+...
其中Δx1=x1−x1(0),Δx2=x2−x2(0)\Delta x_1=x_1-x_1^{(0)}, \Delta x_2=x_2-x_2^{(0)}Δx1=x1−x1(0),Δx2=x2−x2(0)
将上述展开式写成矩阵形式,则有:
f(X)=f(X(0))+(∂f∂x1,∂f∂x2)X(0)(Δx1Δx2)+12(Δx1,Δx2)(∂2f∂x12∂2f∂x1∂x2∂2f∂x2∂x1∂2f∂x22)∣X(0)(Δx1Δx2)+...f(X)=f(X^{(0)})+(\frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2})_{X_{(0)}}\dbinom{\Delta x_1}{\Delta x_2}+\frac{1}{2}(\Delta x_1, \Delta x_2)\begin{pmatrix}\frac{\partial^2 f}{\partial x_1^2}&\frac{\partial^2f}{\partial x_1\partial x_2}\\ \frac{\partial^2f}{\partial x_2\partial x_1}&\frac{\partial^2 f}{\partial x_2^2}\end{pmatrix}\bigg|_{X^{(0)}}\dbinom{\Delta x_1}{\Delta x_2}+... f(X)=f(X(0))+(∂x1∂f,∂x2∂f)X(0)(Δx2Δx1)+21(Δx1,Δx2)(∂x12∂2f∂x2∂x1∂2f∂x1∂x2∂2f∂x22∂2f)∣∣∣∣X(0)(Δx2Δx1)+...
即:
f(X)=f(X(0))+Δf(X(0))TΔX+12ΔXTG(X(0))ΔX+...f(X)=f(X^{(0)})+\Delta f(X^{(0)})^T\Delta X+\frac{1}{2}\Delta X^TG(X^{(0)})\Delta X+... f(X)=f(X(0))+Δf(X(0))TΔX+21ΔXTG(X(0))ΔX+...
其中
G(X(0))=(∂2f∂x12∂2f∂x1∂x2∂2f∂x2∂x1∂2f∂x22)∣X(0),ΔX=(Δx1Δx2)G(X^{(0)})=\begin{pmatrix}\frac{\partial^2 f}{\partial x_1^2}&\frac{\partial^2f}{\partial x_1\partial x_2}\\ \frac{\partial^2f}{\partial x_2\partial x_1}&\frac{\partial^2 f}{\partial x_2^2}\end{pmatrix}\bigg|_{X^{(0)}}, \Delta X=\dbinom{\Delta x_1}{\Delta x_2} G(X(0))=(∂x12∂2f∂x2∂x1∂2f∂x1∂x2∂2f∂x22∂2f)∣∣∣∣X(0),ΔX=(Δx2Δx1)
G(X(0))G(X^{(0)})G(X(0)) 是f(x1,x2)f(x_1,x_2)f(x1,x2) 在 X(0)X^{(0)}X(0) 处的黑塞矩阵。它是由函数f((x1,x2)f((x_1,x_2)f((x1,x2) 在 X(0)X^{(0)}X(0) 处的二阶偏导数所组成的方阵
多元函数的黑塞矩阵
将二元函数的泰勒展开式推广到多元函数,则 f(x1,x2,...,xn)f(x_1, x_2, ..., x_n)f(x1,x2,...,xn) 在 X(0)X^{(0)}X(0) 点处的泰勒展开式的矩阵形式为:
f(X)=f(X(0))+Δf(X(0))TΔX+12ΔXTG(X(0))ΔX+...f(X)=f(X^{(0)})+\Delta f(X^{(0)})^T\Delta X+\frac{1}{2}\Delta X^TG(X^{(0)})\Delta X+... f(X)=f(X(0))+Δf(X(0))TΔX+21ΔXTG(X(0))ΔX+...
其中:
(1)Δf(X0))=[∂f∂x1,∂f∂x2,...,∂f∂xn]∣X(0)T\Delta f(X^{0)})=[\frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, ..., \frac{\partial f}{\partial x_n}]\bigg|_{X^{(0)}}^TΔf(X0))=[∂x1∂f,∂x2∂f,...,∂xn∂f]∣∣∣∣X(0)T,他是 f(x)f(x)f(x) 在X(0)X^{(0)}X(0) 点处的梯度
(2)G(X(0))=(∂2f∂x12∂2f∂x1∂x2...∂2f∂x1∂xn∂2f∂x2∂x1∂2f∂x22...∂2f∂x2∂xn⋮⋮⋱⋮∂2f∂xn∂x1∂2f∂xn∂x2...∂2f∂xn2)X(0)G(X^{(0)})=\begin{pmatrix}\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{pmatrix}_{X^{(0)}}G(X(0))=⎝⎜⎜⎜⎜⎜⎛∂x12∂2f∂x2∂x1∂2f⋮∂xn∂x1∂2f∂x1∂x2∂2f∂x22∂2f⋮∂xn∂x2∂2f......⋱...∂x1∂xn∂2f∂x2∂xn∂2f⋮∂xn2∂2f⎠⎟⎟⎟⎟⎟⎞X(0) 为函数 f(X)f(X)f(X) 在 X(0)X^{(0)}X(0) 点处的黑塞矩阵。
黑塞矩阵是由目标函数 fff 在点X处的二阶偏导数组成的 n×nn×nn×n 阶对称矩阵。
泰勒展开与黑塞矩阵(Hessian Matrix)相关推荐
- 特征提取 - 海森矩阵(Hessian Matrix)及一个用例(图像增强)
转自:https://blog.csdn.net/u013921430/article/details/79770458 这个例子效果并没有给出的结果那么好,但是Hessian矩阵的生成可以参考 前言 ...
- 雅克比矩阵和海森矩阵 Jacobian and Hessian Matrix
转:http://jacoxu.com/jacobian%E7%9F%A9%E9%98%B5%E5%92%8Chessian%E7%9F%A9%E9%98%B5/ 1. Jacobian 在向量分析中 ...
- Hessian Matrix
引用于 https://en.wikipedia.org/wiki/Second_partial_derivative_test#Functions_of_many_variables In math ...
- 有限差法(Finite Difference)求梯度和Hessian Matrix(海森矩阵)的python实现
数学参考 有限差方法求导,Finite Difference Approximations of Derivatives,是数值计算中常用的求导方法.数学上也比较简单易用.本文主要针对的是向量值函数, ...
- 学习OpenCV:海森矩阵(Hessian Matrix)
https://blog.csdn.net/u013921430/article/details/79770458 https://www.cnblogs.com/jsxyhelu/p/1211498 ...
- 矩阵求多元函数的通解_Hessian矩阵
黑塞矩阵(Hessian Matrix),是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率.黑塞矩阵常用于牛顿法解决优化问题,利用黑塞矩阵可判定多元函数的极值问题.在工程实际问题的优化设计中 ...
- 【学习笔记】第三章 Python在高等数学和线性代数中的应用
目录 3.1 Sympy工具库介绍 3.1.1 Sympy工具库介绍(服务于符号运算的工具库) 1.微积分模块(sympy.integrals) 2.离散数学模块(sympy.discrete 3.方 ...
- Python在高等数学和线性代数中的应用
Python在高等数学和线性代数中的应用 科学运算设计数值运算和符号运算,数值运算可以使用Numpy库和Scipy库,符号运算则可以使用Sympy工具库,数值计算的表达式.矩阵变量中不允许有未定义的自 ...
- 结合openCV学习DIP之传统图像特征与匹配
前言 关于图像的预处理部分参考 结合opencv学习DIP 概述 该笔记主要是基于DIP理论➕openCV实现,学习该笔记首先要确保通读DIP理论,并由自己的话描述相关知识,并且掌握o ...
- Levenberg–Marquardt(LM)
Levenberg–Marquardt(LM)详解 1.基础概念 1.1.信赖域法 1.2.泰勒展开 1.2.正定矩阵(positive definite matrix) 1.3.雅克比矩阵(Jaco ...
最新文章
- js中匿名函数的N种写法
- 电磁学讲义2:库仑定律
- 学典教育计算机二级,层次化分类的离线中文签名真伪鉴别方法-计算机工程与应用.PDF...
- 使用Maven程序集创建漏洞评估工件
- 【转】3.4SharePoint服务器端对象模型 之 访问文件和文件夹(Part 4)
- Java学习笔记之:Java引用数据类型之字符串
- creo管道设计教程_Creo产品设计教程:握力器弹簧建模,一个技巧轻松搞定
- php curl如何解决分页,一段PHP的分页程序,报错,该如何解决
- 【重难点】【Java基础 03】hashCode() 和 equals()、代理模式
- BZOJ 1015 题解
- win7 64位操作系统中Oracle 11g + plsql安装教程详解(图解)
- tensorflow学习笔记(1)如何高效地学习TensorFlow(附链接)
- java连接达梦数据库_java连接达梦数据库的简单代码
- 【MySQL】数据库基础知识
- 你有没有思考过,特斯拉为什么先进?
- 图书借阅系统软件测试实验报告,C 大作业--图书管理系统-实验报告.doc
- Azure微软云(部署一台虚拟机云服务器)
- 计算机网络软件系统不包括,1period;计算机软件系统一般分为lpar; A rpar;两大部分...
- dB、dBm、dBw、dBi……到底有啥区别?
- python开发板 树莓派_树莓派3代B+型 Raspberry Pi 3b+电脑linux开发板python编程
热门文章
- DSP28335加密及解密
- mfc服务器发送信息失败10057,基于MFC的局域网聊天工具.doc
- linux免杀工具,安卓Apk免杀工具:backdoor-apk 教程
- java structs_java深入探究12-框架之Structs
- 计算机快捷键屏幕保护是什么,电脑屏保快捷键.pptx
- BackgroundWorker DoWork事件调用多次的问题
- hexo搭建博客系列(六)百度,必应,谷歌收录
- linux邮件报警命令,linux 邮件报警,监控内存cup
- 华三ASPF技术白皮书
- 计算机时钟电路检查,数字电子时钟电路设计实训报告