hessian矩阵判断凸函数_二次函数凹凸性

hessian矩阵判断凸函数_二次函数凹凸性当然,通过主元变换或直接求出行列式的值也是方法之一,但由于缺乏充分性,即行列式小于零一定非正定,但大于零则不一定正定,因为偶数次的负元素相乘依旧得正,因此用所有主元(对角线)上的元素来判断的方法更为完备。因此,在诸如牛顿法等梯度方法中,使用黑塞矩阵的正定性可以非常便捷的判断函数是否有凸性,也就是是否可收敛到局部/全局的最优解。正定、半正定矩阵的直觉代表一个向量经过它的变化后的向量与其本身的夹角小于等于90度。Hessian矩阵的正定性在判断优化算法可行性时非常有用,简单地说,黑塞矩阵正定,则。

1. 从矩阵变换的角度

首先半正定矩阵定义为:

hessian矩阵判断凸函数_二次函数凹凸性

其中X 是向量,M 是变换矩阵

我们换一个思路看这个问题,矩阵变换中,hessian矩阵判断凸函数_二次函数凹凸性代表对向量 X进行变换,我们假设变换后的向量为Y,记做

hessian矩阵判断凸函数_二次函数凹凸性

于是半正定矩阵可以写成:

hessian矩阵判断凸函数_二次函数凹凸性

这个是不是很熟悉呢? 他是两个向量的内积。 同时我们也有公式:

hessian矩阵判断凸函数_二次函数凹凸性

||X||, ||Y||代表向量 X,Y的长度,hessian矩阵判断凸函数_二次函数凹凸性是他们之间的夹角。 于是半正定矩阵意味着

hessian矩阵判断凸函数_二次函数凹凸性

这下明白了么?

正定、半正定矩阵的直觉代表一个向量经过它的变化后的向量与其本身的夹角小于等于90度。

 

2. 从几何图形的角度

正定矩阵是一个椭球。也就是说hessian矩阵判断凸函数_二次函数凹凸性的正定矩阵hessian矩阵判断凸函数_二次函数凹凸性对应于n维空间中以原点为圆心的椭球

hessian矩阵判断凸函数_二次函数凹凸性

,

其中:

  • 椭球的轴向:特征向量
  • 椭球的轴长:特征值

下图是n=2的情况:


hessian矩阵判断凸函数_二次函数凹凸性这样理解的好处很多,例如两个正定矩阵
hessian矩阵判断凸函数_二次函数凹凸性等价于
hessian矩阵判断凸函数_二次函数凹凸性,也就是说,“两个正定矩阵的差也正定”等价于“A对应的椭球被B对应的椭球包含”,n=2时,图像如下:


hessian矩阵判断凸函数_二次函数凹凸性

3. 判定方法

正定性的判定方法有很多重,其中最方便也是常用的一种为:

若所有特征值均不小于零,则称为半正定。
若所有特征值均大于零,则称为正定。

当然,通过主元变换或直接求出行列式的值也是方法之一,但由于缺乏充分性,即行列式小于零一定非正定,但大于零则不一定正定,因为偶数次的负元素相乘依旧得正,因此用所有主元(对角线)上的元素来判断的方法更为完备。

4. 黑塞矩阵的正定性

Hessian矩阵的正定性在判断优化算法可行性时非常有用,简单地说,黑塞矩阵正定,则

1. 函数的二阶偏导数恒 > 0

2. 函数的变化率(斜率)即一阶导数始终处于递增状态

3. 函数为凸

因此,在诸如牛顿法等梯度方法中,使用黑塞矩阵的正定性可以非常便捷的判断函数是否有凸性,也就是是否可收敛到局部/全局的最优解

架构君码字不易,如需转载,请注明出处:https://javajgs.com/archives/210317
0

发表评论