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

来源:互联网 发布:java模板 编辑:程序博客网 时间:2024/05/22 07:55

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

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

dfdx=0(1)

d2fdx2>0(2)

条件推广:一阶导数为零

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

fx=0,fy=0(3)

条件推广:二阶导数为正

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

d2fdt2>0(4)

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

dfdt=fx1dx1dt+fx2dx2dt=fx1cosα+fx2sinα(5)

d2fdt2=...=2fx21cos2α+2fx1x2cosαsinα+2fx2x1cosαsinα+2fx22sin2α(6)

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

Hessian矩阵

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

dT2fx212fx2x12fx1x22fx22d>0(7)

其中,矩阵
H(f)=2fx212fx2x12fx1x22fx22(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¯) ,有如下结论:

  1. 如果 H(x¯) 是正定矩阵,则临界点 x¯ 处是一个局部的极小值。
  2. 如果 H(x¯) 是负定矩阵,则临界点 x¯ 处是一个局部的极大值。
  3. 如果 H(x¯) 是不定矩阵,则临界点 x¯ 处不是极值。

正定矩阵的判定

接下来的问题就是如何判断一个矩阵是否为正定矩阵了,这方面参考资料很多,本文不再赘述。

0 0