黑塞矩阵(Hessian Matrix)
黑塞矩阵是一个多元函数的二阶偏导数构成的方阵, 描述了函数的局部曲率.
黑塞矩阵常用语牛顿法解决优化问题, 利用黑塞矩阵可判定多元函数的极值问题. 在实际工程问题的优化设计中, 所列的目标函数往往很复杂, 为了使问题简化, 常常将目标函数在某点邻域展开成泰勒多项式来逼近原函数, 此时函数在某点泰勒展开式的矩阵形式中会设计到黑塞矩阵.
二维函数f(x1,x2)在X(0)(x(0)1,x(0)2)处的泰勒展开式为
f(x1,x2)=f(x(0)1,x(0)2)+∂f∂x1Δx1+∂f∂x2Δx2+12[∂2f∂x21Δx21+2∂2f∂x1∂x2Δx1Δx2+∂2f∂x22Δx22]+…
表示成矩阵形式即为
f(X)=f(X0)+(∂f∂x1∂f∂x2)(Δx1Δx2)+12(Δx1Δx2)⎛⎜
⎜
⎜
⎜⎝∂2f∂x21∂2f∂x1∂x2∂2f∂x1∂x2∂2f∂x22⎞⎟
⎟
⎟
⎟⎠(Δx1Δx2)+…
其中, 记
G(X(0))=⎛⎜
⎜⎝∂2f∂x21∂2f∂x1∂x2∂2f∂x1∂x2∂2f∂x22⎞⎟
⎟⎠
G(X(0))即为f(x1,x2)在X(0)处的黑塞矩阵.
将结论扩展到多元函数:
- ∇f(X(0))=[∂f∂x1,∂f∂x2,…,∂f∂xn], 为f(X)在X(0)处的梯度.
- G(X(0))=⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣∂2f∂x21∂2f∂x1∂x2…∂2f∂x1∂xn∂2f∂x2∂x1∂2f∂x22…∂2f∂x2∂xn⋮⋮⋱⋮∂2f∂xn∂x1∂2f∂xn∂x2…∂2f∂x2n⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦X(0) 为函数f(X)在X(0)处的黑塞矩阵.
利用黑塞矩阵判断多元函数的极值
当多元函数f(x1,x2,…,xn)在点M0(a1,a2,…,an)的邻域内存在连续二阶偏导数且满足:
∂f∂xj∣∣∣(a1,a2,…,an)=0,j=1,2,…,n
且有
A=⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣∂2f∂x21∂2f∂x1∂x2…∂2f∂x1∂xn∂2f∂x2∂x1∂2f∂x22…∂2f∂x2∂xn⋮⋮⋱⋮∂2f∂xn∂x1∂2f∂xn∂x2…∂2f∂x2n⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦X(0)
则有
- 当A为正定矩阵时, f在M0为极小值;
- 当A为负定矩阵时, f在M0存在极大值;
- 当A为不定矩阵时, M0不是极值点.
- 当A为半正定矩阵或半负定矩阵时, M0是"可疑"极值点.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)