首页 > 代码库 > 多元函数求极值问题

多元函数求极值问题

今天来讨论多元函数求极值问题,由于在Logistic回归用牛顿迭代法求参数提到这个,所以很有必要把它研究清楚。

 

回想一下,一元函数求极值问题中我们是怎样做的?比如对于凹函数先求一阶导数,得到,由

于极值处导数一定为零,但是导数等于零的点不一定就有极值,比如所以我们还需要进一步判断,对函数

继续求二阶导得到,现在因为在驻点处二阶导数成立,所以处取得

极小值,二阶导数在这里的意义就是判断函数局部的凹凸性。

 

在多元函数中求极值的方法类似,只是在判断凹凸性这里引入了一个矩阵,叫做Hessian矩阵

 

如果实值多元函数在定义域内二阶连续可导,那么我们要求它的极值,首先对所有的求偏导,即得到

个方程如下

 

         

 

通过这个方程可以解得驻点,这个驻点是一个长度为的一维向量。但是我们仅仅得到这个驻点,其实在这个

驻点有3种情况,分别是:局部极大值,局部极小值和非极值。

 

所以接下来要做的事就是判断这个驻点属于这3个中的哪一个。所以就引入了Hessian矩阵,也就是说它用来判断

在多元函数的凹凸性问题。

 

Hessian矩阵是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率,常用于牛顿迭代法解决优化问题。

例如对于上面的多元函数,如果它的二阶偏导数都存在,那么Hessian矩阵如下

 

       

 

如果函数在定义域内二阶连续可导,那么Hessian矩阵在定义域内为对称矩阵,因为如果函数连续,

则二阶偏导数的求导顺序没有区别,即

 

        

 

有了Hessian矩阵,我们就可以判断上述极值的3种情况了,结论如下

 

  (1)如果是正定矩阵,则临界点处是一个局部极小值

  (2)如果是负定矩阵,则临界点处是一个局部极大值

  (3)如果是不定矩阵,则临界点处不是极值

 

接下来继续学习如何判断一个矩阵是否是正定的,负定的,还是不定的。

 

一个最常用的方法就是顺序主子式。实对称矩阵为正定矩阵的充要条件是的各顺序主子式都大于零

 

由于这个方法涉及到行列式的计算,比较麻烦! 对于实二次型矩阵还有一个方法,描述如下

 

实二次型矩阵为正定二次型的充要条件是的矩阵的特征值全大于零。为负定二次型的充要条件是

的矩阵的特征值全小于零,否则是不定的。