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

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

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

d f d x = 0 (1) \frac{df}{dx}=0\tag{1} dxdf=0(1)
d 2 f d x 2 > 0 (2) \frac{d^2f}{dx^2}>0 \tag{2} dx2d2f>0(2)

#条件推广:一阶导数为零
二元函数情形,很容易得到第一个条件(1)式的推广形式:
∂ f ∂ x = 0 , ∂ f ∂ y = 0 (3) \frac{\partial f}{\partial x}=0, \frac{\partial f}{\partial y}=0\tag{3} xf=0,yf=0(3)

#条件推广:二阶导数为正
我们可以认为,沿任意方向 ( d x 1 , d x 2 ) = ( cos ⁡ α d t , sin ⁡ α d t ) (dx_1, dx_2)=(\cos\alpha dt, \sin \alpha dt) (dx1,dx2)=(cosαdt,sinαdt),都有
d 2 f d t 2 > 0 (4) \frac{d^2 f}{d t^2} > 0\tag{4} dt2d2f>0(4)

下面我们推导一下,看看有什么结果,
d f d t = ∂ f ∂ x 1 d x 1 d t + ∂ f ∂ x 2 d x 2 d t = ∂ f ∂ x 1 cos ⁡ α + ∂ f ∂ x 2 sin ⁡ α (5) \frac{df}{dt}=\frac{\partial f}{\partial x_1}\frac{dx_1}{dt} + \frac{\partial f}{\partial x_2}\frac{dx_2}{dt}=\frac{\partial f}{\partial x_1}\cos \alpha + \frac{\partial f}{\partial x_2}\sin \alpha\tag{5} dtdf=x1fdtdx1+x2fdtdx2=x1fcosα+x2fsinα(5)
$$
\frac{d2f}{dt2}=…=\frac{\partial^2 f}{\partial x_12}\cos2 \alpha

  • \frac{\partial^2 f}{\partial x_1 \partial x_2}\cos \alpha \sin \alpha
  • \frac{\partial^2 f}{\partial x_2 \partial x_1}\cos \alpha \sin \alpha
  • \frac{\partial^2 f}{\partial x_22}\sin2 \alpha \tag{6}
    $$

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

#Hessian矩阵
d = ( cos ⁡ α , sin ⁡ α ) d=(\cos \alpha, \sin \alpha) d=(cosα,sinα),则有,
d T ( ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 ) d > 0 (7) d^T \left( \begin{matrix} \frac{\partial^2f}{\partial x_1^2} & \frac{\partial^2f}{\partial x_1 \partial x_2} \\ \frac{\partial^2f}{\partial x_2 \partial x_1} & \frac{\partial^2f}{\partial x_2^2} \end{matrix} \right) d > 0\tag{7} dT(x122fx2x12fx1x22fx222f)d>0(7)
其中,矩阵
H ( f ) = ( ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 ) (8) H(f)=\left( \begin{matrix} \frac{\partial^2f}{\partial x_1^2} & \frac{\partial^2f}{\partial x_1 \partial x_2} \\ \frac{\partial^2f}{\partial x_2 \partial x_1} & \frac{\partial^2f}{\partial x_2^2} \end{matrix} \right)\tag{8} H(f)=(x122fx2x12fx1x22fx222f)(8)
称为 Hessian 矩阵,如果函数 f ( x ) f(x) f(x)二阶导数连续,则该矩阵实对称矩阵。我们看到,二元函数取得极小值的另一个条件的推广形式是,函数的 Hessian 矩阵是正定矩阵。其实,这个结论很容易推广到 n n n 原函数。

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

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

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

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

#正定矩阵的判定

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


原创不易,如有帮助,敬请点赞、关注、收藏,谢谢支持!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许野平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值