您的位置:首页 > 其它

多元函数极值、Hessian矩阵、正定矩阵

2016-11-29 14:36 525 查看
这篇笔记,来自我对支持向量机(SVM)算法原理的学习。支持向量机算法最终归结为二次规划问题,研究二次规划问题,必须先从一般的最优化问题开始分析。如无特别声明,本文最优化问题特指寻求目标函数最小值。

一元函数最优化问题,可以简单归结为极值点必须满足下面两个条件:

dfdx=0(1)

d2fdx2>0(2)

条件推广:一阶导数为零

二元函数情形,很容易得到第一个条件(1)式的推广形式:

∂f∂x=0,∂f∂y=0(3)

条件推广:二阶导数为正

我们可以认为,沿任意方向 (dx1,dx2)=(cosαdt,sinαdt),都有

d2fdt2>0(4)

下面我们推导一下,看看有什么结果,

dfdt=∂f∂x1dx1dt+∂f∂x2dx2dt=∂f∂x1cosα+∂f∂x2sinα(5)

d2fdt2=...=∂2f∂x21cos2α+∂2f∂x1∂x2cosαsinα+∂2f∂x2∂x1cosαsinα+∂2f∂x22sin2α(6)

对于所有的 α ,要求上式恒大于零,那么函数的这四个二阶偏导应该满足什么条件呢?

Hessian矩阵

令 d=(cosα,sinα),则有,

dT⎛⎝⎜⎜⎜⎜∂2f∂x21∂2f∂x2∂x1∂2f∂x1∂x2∂2f∂x22⎞⎠⎟⎟⎟⎟d>0(7)

其中,矩阵

H(f)=⎛⎝⎜⎜⎜⎜∂2f∂x21∂2f∂x2∂x1∂2f∂x1∂x2∂2f∂x22⎞⎠⎟⎟⎟⎟(8)

称为 Hessian 矩阵,如果函数f(x)二阶导数连续,则该矩阵实对称矩阵。我们看到,二元函数取得极小值的另一个条件的推广形式是,函数的 Hessian 矩阵是正定矩阵。其实,这个结论很容易推广到 n 原函数。

由前面讨论可知,(7)式表示函数在方向 d 的二阶导数,这算是 Hessian 矩阵的几何意义吧。

多元函数极值的判定

如果实值多元函数 f(x) 二阶连续可导,并且在临界点 x¯ 处梯度(一阶导数)等于0,即 ∇f(x¯)=0 , 为驻点。仅通过一阶导数无法判断在临界点 处是极大值还是极小值。

记 f(x) 在 x¯ 点处的 Hessian 矩阵为 H(x¯) 。由于 f(x) 在 x¯ 点处连续,所以 H(x¯) 是一个 n×n 的对称矩阵。对于 H(x¯) ,有如下结论:

如果 H(x¯) 是正定矩阵,则临界点 x¯ 处是一个局部的极小值。

如果 H(x¯) 是负定矩阵,则临界点 x¯ 处是一个局部的极大值。

如果 H(x¯) 是不定矩阵,则临界点 x¯ 处不是极值。

正定矩阵的判定

接下来的问题就是如何判断一个矩阵是否为正定矩阵了,这方面参考资料很多,本文不再赘述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息