在工程实际问题的优化设计中,所列的目标函数往往很复杂,为了使问题简化,常常将目标函数在某点邻域展开成泰勒多项式来逼近原函数。
二元函数的黑塞矩阵
由高等数学知识可知,若一元函数在点的某个邻域内具有任意阶导数,则在点处的泰勒展开式为:
,其中,。二元函数在
点处的泰勒展开式为:
其中,。将上述展开式写成矩阵形式,则有:
即:其中:
是在点处的黑塞矩阵。它是由函数在点处的二阶偏导数所组成的方阵。
多元函数的黑塞矩阵
将二元函数的泰勒展开式推广到多元函数,则在点处的泰勒展开式的矩阵形式为:
其中:
(1),它是在点处的梯度。
(2)为函数在点处的黑塞矩阵。
黑塞矩阵是由目标函数在点X处的二阶偏导数组成的阶对称矩阵。
利用黑塞矩阵判定多元函数的极值
定理
设n多元实函数在点的邻域内有二阶连续偏导,若有:
并且则有如下结果:
(1)当A正定矩阵时,在处是极小值;
(3)当A不定矩阵时,不是极值点。
(4)当A为半正定矩阵或半负定矩阵时,是“可疑”极值点,尚需要利用其他方法来判定。
实例
求三元函数的极值。
解:因为,故该三元函数的驻点是。又因为,故有:因为A是正定矩阵,故是极小值点,且极小值。
如何理解矩阵特征值和特征向量?:https://www.matongxue.com/madocs/228.html
Hessian矩阵以及在图像中的应用:https://blog.csdn.net/lwzkiller/article/details/55050275
海森矩阵(Hessian Matrix)及一个用例(图像增强):https://blog.csdn.net/u013921430/article/details/79770458
opencv3.2 SURF实现特征点匹配:https://blog.csdn.net/xxzxxzdlut/article/details/72926011
QT creator+OpenCV2.4.2+MinGW 在windows下开发环境配置:
https://www.cnblogs.com/liu-jun/archive/2012/09/26/Jacky_Liu.html
OpenCV 3.1.0 + opencv_contrib编译(Windows):https://blog.csdn.net/taily_duan/article/details/53423629
qt5(mingw版) opencv3.0(含contrib扩展)配置详解:https://blog.csdn.net/xiaonuo911teamo/article/details/79934319