关闭

Hessian矩阵与多元函数极值

标签: 机器学习图像处理数学海塞矩阵
10542人阅读 评论(3) 收藏 举报
分类:

Hessian矩阵与多元函数极值

海塞矩阵(Hessian Matrix),又译作海森矩阵,是一个多元函数的二阶偏导数构成的方阵。尽管它是一个具有悠久历史的数学成果,但是在机器学习和图像处理(例如SIFT和SURF特征检测)中,我们也常常遇到它。所以本文就来向读者道一道Hessian Matrix的来龙去脉。本文的主要内容包括:

  • 多元函数极值问题
  • 泰勒展开式与Hessian矩阵

多元函数极值问题

回想一下我们是如何处理一元函数求极值问题的。例如,f(x)=x2,我们会先求一阶导数,即f(x)=2x,根据费马定理极值点处的一阶导数一定等于 0。但这仅是一个必要条件,而非充分条件。对于f(x)=x2来说,函数的确在一阶导数为零的点取得了极值,但是对于f(x)=x3来说,显然只检查一阶导数是不足以下定论的。

这时我们需要再求一次导,如果二阶导数 f<0,那么说明函数在该点取得局部极大值;如果二阶导数 f>0,则说明函数在该点取得局部极小值;如果 f=0,则结果仍然是不确定的,我们就不得不再通过其他方式来确定函数的极值性。

如果要在多元函数中求极值点,方法与此类似。作为一个示例,不妨用一个三元函数 f=f(x,y,z) 来作为示例。首先要对函数中的每个变量分别求偏导数,这会告诉我们该函数的极值点可能出现在哪里。即

fx=0fy=0fx=0

接下来,要继续求二阶导数,此时包含混合偏导数的情况一共有 9 个,如果用矩阵形式来表示的话就得到
H=2fxx2fyx2fzx2fxy2fyy2fzy2fxz2fyz2fzz

这个矩阵就称为Hessian矩阵。当然上面所给出的仅仅是一个三阶的Hessian矩阵。稍作扩展,我们可以对一个在定义域内二阶连续可导的实值多元函数 f(x1,x2,,xn) 定义其Hessian矩阵H如下

H=2fx212fx2x12fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fx2n

当一元函数的二阶导数等于 0 时,我们并不能确定函数在该点的极值性。类似地,面对Hessian矩阵,仍然存在无法断定多元函数极值性的的情况,即当Hessian矩阵的行列式为 0 时,我们无法确定函数是否能取得极值。甚至我们可能会得到一个鞍点,也就是一个既非极大值也非极小值的的点。




基于Hessian矩阵,就可以判断多元函数的极值情况了,结论如下

  • 如果是正定矩阵,则临界点处是一个局部极小值
  • 如果是负定矩阵,则临界点处是一个局部极大值
  • 如果是不定矩阵,则临界点处不是极值


如何判断一个矩阵是否是正定的,负定的,还是不定的呢?一个最常用的方法就是顺序主子式。实对称矩阵为正定矩阵的充要条件是的各顺序主子式都大于零。当然这个判定方法的计算量比较大。对于实二次型矩阵还有一个判定方法:实二次型矩阵为正定二次型的充要条件是的矩阵的特征值全大于零。为负定二次型的充要条件是的矩阵的特征值全小于零,否则是不定的。

如果你对二次型的概念仍然不很熟悉,这里也稍作补充。定义含有 n
个变量 x1,x2,,xn 的二次齐次函数

f(x1,x2,,xn)=a11x21+a22x22++annx2n+2a12x1x2+2a13x1x3++2an1,nxn1xn

为二次型。取 aij=aji,则 2aijxixj+ajixjxi,于是上式可以写成
f==a11x21+a12x1x2++a1nx1xn+a21x2x1+a22x22++a2nx2xn++an1xnx1+an2xnx2++annx2ni,j=1naijxixj

更进一步,如果用矩阵对上式进行改写,则有
f===x1(a11x1+a12x2++a1nxn)+x2(a21x1+a22x2++a2nxn)++xn(an1x1+an2x2++annxn)(x1,x2,,xn)a11x1+a12x2++a1nxna21x1+a22x2++a2nxnan1x1+an2x2++annxn(x1,x2,,xn)a11a21an1a12a22an2a1na2nannx1x2xn


A=a11a21an1a12a22an2a1na2nann,x=x1x2xn

则二次型可记作 f=xTAx,其中 A为对称阵。
设有二次型 f=xTAx,如果对任何 x0,都有 f>0,则称 f 为正定二次型,并称对称矩阵 A 是正定的;如果对任何 x0,都有 f<0,则称 f 为负定二次型,并称对称矩阵 A 是负定的。
正定矩阵一定是非奇异的。对阵矩阵 A 为正定的充分必要条件是: A 的特征值全为正。由此还可得到下面这个推论:对阵矩阵 A 为正定的充分必要条件是 A 的各阶主子式都为正。如果将正定矩阵的条件由 xTAx>0 弱化为 xTAx0,则称对称矩阵 A 是半正定的。


泰勒展开式与Hessian矩阵

主页君已经在之前的《图像处理中的数学原理详解》系列文章中介绍过泰勒展开式了。但那个时候我们给出的是一元函数的泰勒公式,不妨先来复习一下。
设一元函数 f(x) 在包含点x0的开区间 (a,b) 内具有 n+1 阶导数,则当 x(a,b) 时,有

f(x)=f(x0)+f(x0)(xx0)+f(x0)2!(xx0)2++f(n)(x0)n!(xx0)n+Rn(x)

其中
Rn(x)=f(n+1)(ξ)(n+1)!(xx0)n+1

并且,ξxx0之间,这被称作是拉格朗日余项。上式被称为 f(x)n 阶泰勒公式。在不需要余项的精确表达式时,Rn(x) 可以记作 o[(xx0)n],这被称为是皮亚诺余项。

现在我们把上面这个结论稍微做一下推广,从而给出二元函数的泰勒公式。设二元函数 z=f(x,y) 在点 (x0,y0) 的某一邻域内连续且有直到 n+1 阶的连续偏导数,则有

f(x,y)=f(x0,y0)+[(xx0)x+(yy0)y]f(x0,y0)+12![(xx0)x+(yy0)y]2f(x0,y0)+++1n![(xx0)x+(yy0)y]nf(x0,y0)+1(n+1)![(xx0)x+(yy0)y](n+1)f[x0+θ(xx0),y0+θ(yy0)]

其中,0<θ<1,记号
[(xx0)x+(yy0)y]f(x0,y0)

表示
(xx0)fx(x0,y0)+(yy0)fy(x0,y0)

记号
[(xx0)x+(yy0)y]2f(x0,y0)

表示
(xx0)2fxx(x0,y0)+2(xx0)(yy0)fxy(x0,y0)+(yy0)2fyy(x0,y0)

一般地,记号
[(xx0)x+(yy0)y]mf(x0,y0)

表示
p=0mCpm(xx0)p(yy0)(mp)mfxpy(mp)(x0,y0)

当然,我们可以用一种更加简洁的形式来重写上面的和式,则有
f(x,y)=k=0n1k![(xx0)x+(yy0)y]kf(x0,y0)+1(n+1)![(xx0)x+(yy0)y](n+1)f[x0+θ(xx0),y0+θ(yy0)],(0<θ<1)

当余项Rn(x,y)采用上面这种形式时称为拉格朗日余项,如果采用皮亚诺余项,则二元函数的泰勒公式可以写成
f(x,y)=k=0n1k![(xx0)x+(yy0)y]kf(x0,y0)+o(ρn)

特别低,对于一个多维向量 X, 以及在点 X0 的邻域内有连续二阶偏导数的多元函数 f(X) ,可以写出该函数在点 X0 处的(二阶)泰勒展开式
f(X)=f(X0)+(XX0)Tf(X0)+12!(XX0)T2f(X0)(XX0)+o(XX02)

其中,o(XX02) 是高阶无穷小表示的皮亚诺余项。而 2f(X0) 显然就是一个Hessian矩阵。所以上述式子也可以写成
f(X)=f(X0)+(XX0)Tf(X0)+12(XX0)TH(X0)(XX0)+o(XX02)

我们已经知道对于 n 元函数 u=f(x1,x2,,xn)在点 M 处有极值,则有

f(M)={fx1,fx2,,fxn}M=0

也就是说这是一个必要条件,而充分条件则由上一节中之结论给出 。

10
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Jacobian矩阵、Hessian矩阵、特征值、特征向量

转自:http://jacoxu.com/?p=146 1. Jacobian 在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式. 还有, 在代数几...
  • MyArrow
  • MyArrow
  • 2016-11-14 17:20
  • 3284

Hessian矩阵以及在图像中的应用

Hessian Matrix,它有着广泛的应用,如在牛顿方法、求极值以及边缘检测、消除边缘响应等方面的应用。一个Hessian Matrix涉及到很多数学相关的知识点,比如泰勒公式、极值判断、矩阵特征...
  • lwzkiller
  • lwzkiller
  • 2017-02-17 11:23
  • 4535

图像处理之Hessian矩阵提取关键点

图像特征提取中Hessian Matrix来提取图像的细节特征十分重要 本文演示了这个算法的基本功能,更多改进空间可以一起探讨!
  • jia20003
  • jia20003
  • 2013-11-22 00:06
  • 18329

牛顿法与Hessian矩阵

牛顿法 主要有两方面的应用: 1. 求方程的根; 2. 求解最优化方法; 一. 为什么要用牛顿法求方程的根?        问题很多,牛顿法 是什么?目前还没有讲清楚,没关系,先直观理解为 牛顿法...
  • linolzhang
  • linolzhang
  • 2017-03-03 22:13
  • 4832

Hessian矩阵与牛顿法

牛顿法 主要有两方面的应用: 1. 求方程的根; 2. 求解最优化方法; 一. 为什么要用牛顿法求方程的根?        问题很多,牛顿法 是什么?目前还没有讲清楚,...
  • haoge921026
  • haoge921026
  • 2017-04-27 12:25
  • 979

hessian矩阵

  • 2011-11-17 15:26
  • 64KB
  • 下载

最优化理论·光滑函数·Hessian矩阵·Jacobian矩阵·方向导数

Jacobian是向量函数f(x)f(\mathbf{x})相对于向量x\mathbf{x}的偏导数以一定方式排列成的矩阵1.向量函数:f(x)f(\mathbf{x})f(x)=⎡⎣⎢⎢⎢⎢⎢⎢f1...
  • tina_ttl
  • tina_ttl
  • 2016-04-20 18:47
  • 1765

海森矩阵的应用:多元函数极值的判定

Hessian Matrix 主要是对 变量的二阶导数所组成,
  • u010680837
  • u010680837
  • 2014-06-25 16:03
  • 3912

Hessian海森矩阵与牛顿最优化方法

Hessian矩阵在数学中, 海森矩阵(Hessian matrix或Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵, 此函数如下:f(x1,x2…,xn)f({x_1},{x...
  • CGCVHCI
  • CGCVHCI
  • 2016-04-03 09:42
  • 2539

Hessian矩阵与多元函数极值

Hessian矩阵与多元函数极值 海塞矩阵(Hessian Matrix),又译作海森矩阵,是一个多元函数的二阶偏导数构成的方阵。尽管它是一个具有悠久历史的数学成果,但是在机器学习和图像处理(例...
  • u014696921
  • u014696921
  • 2017-07-29 20:29
  • 639
    个人资料
    • 访问:2233811次
    • 积分:26933
    • 等级:
    • 排名:第241名
    • 原创:338篇
    • 转载:15篇
    • 译文:0篇
    • 评论:4021条
    算法之美

      算法之美

      :隐匿在数据结构背后的原理
      (C++版)

      源码获取,读者答疑,请加算法学习群
      群容量有限,未购书者勿扰
      (495573865)
    图像处理

      《图像处理中的数学修炼》
      图像处理书籍读者群
      (155911675)

      还未购入本书者,切勿尝试加群,本群谢绝吃瓜群众以及毫无诚信者围观,妄图浑水摸鱼的行为最终都只能自取其辱
    联系方式
  • 1. 在博客文章下留言,博客私信一律不回
  • 2. 邮件fzuo#foxmail.com,将#换成@。
    最新评论