本章涉及知识点:
1、无条件极值
2、Hessian矩阵
3、有条件极值
4、数学分析角度
5、几何角度
6、知识点1:牛顿迭代法求多元函数驻点
7、知识点2:数值微分求解多元函数高阶偏导数
8、案例演示
一、无条件极值
我们从二元函数开始研究其极值问题
除自身定义域D外,没有别的条件约束,这类问题我们称为多元函数的无条件极值问题
设的驻点为,且各个自变量的一阶偏导数均存在,则
必要条件特别注意的是:此时不一定是的极值点
例如:
其一阶偏导数为:,
可以看到是其中一个驻点,而我们画出函数图像和其等值线图像
函数图像 函数等值线从函数等值线上可以看出:不是函数极值点,而只是一个鞍点
结论:驻点是取极值的必要条件,即取极值的点一定是驻点,但是驻点不一定是的极值点
所以我们不能只凭一阶偏导数求驻点来判定多元函数的极值点,还需要分析二阶偏导数的情况
我们将在极值点处进行二阶Taylor展开,得
二阶泰勒公式由极值点的必要条件,因为是的驻点,即
极值点的必要条件则上式二阶Taylor可写为
二阶泰勒公式我们将上式写为矩阵方程形式,即
二阶泰勒矩阵形式显然这是一个关于的二次型方程,则记
,
则上式矩阵方程可写为
二阶泰勒矩阵形式分类讨论:
(1)如果是正定矩阵,则
极小值说明:对于在驻点的某邻域内,任何的函数值均大于驻点的函数值。
即:驻点是的极小值点
(2)如果是负定矩阵,则
极大值说明:对于在驻点的某邻域内,任何的函数值均大于驻点的函数值。
即:驻点是的极大值点
(3)如果是不定矩阵,则
鞍点说明:对于在驻点的某邻域内,存在某个具体的点,该点的函数值大于驻点的函数值;还存在某个具体的点,该点的函数值小于驻点的函数值。
即:驻点不是的极值点,而是其一个鞍点
综上讨论:驻点是否是的极值点,正比于的正负定
二、Hessian矩阵
对于二元函数,其在驻点的Hessian矩阵为
二元函数的Hessian矩阵我们记:,,
则的Hessian矩阵为:
则通过上述分析,在驻点的极值情况为:
(1)如果,且,则在处取极小值
(2)如果,且,则在处取极大值
(3)如果,则在处无极值
更一般的,我们从二元函数的极值判定,可以推广到多元函数的极值判定
对于多元函数,其在驻点的Hessian矩阵为
多元函数的Hessian矩阵同理,极值的判定条件取决与的正负定
三、有条件极值
在实际问题中,我们会遇到需要满足某个或者某几个约束条件下的极值问题,称之为有条件的极值问题,即
有条件极值通常,我们称函数为目标函数,方程为约束条件,自变量x、y称为决策变量
分析这类问题,需要将有条件极值问题转化为无条件极值问题,下面我们从数学分析角度和几何角度来处理有条件极值
四、数学分析角度
设满足约束条件,且是的极值点
则由隐函数存在定理,在的某邻域内可以确定一个具有连续可导的隐函数:
隐函数则二元函数的有条件极值问题,就转化为一元函数的条件极值问题,即
有条件极值由一元函数取极值的必要条件:一阶导数为0,得
一元函数取极值我们对条件约束方程:,两边同时对求导,得
隐函数导数将带入上式,得
隐函数导数将上式代入一元函数取极值的方程,得
一元函数取极值我们令:,则可以推导出:
有条件极值不要忘却约束条件:,加上约束条件,则我们推导出二元函数的有条件极值的解法:
有条件极值的解法观察上式关系,我们可以用一个统一的函数:拉格朗日函数来描述
拉格朗日函数而求的无条件极值,就等价于求的有条件极值,即
求拉格朗日函数的无条件极值结论:二元函数在约束下求有条件极值问题,可以等价转化为拉格朗日函数求无条件极值问题()
我们称上述算法为:拉格朗日乘子法(SVM算法中引用)
五、几何角度
我们画出的等值线
二元函数的等值线变化图中黑圈指投影在平面上的等值线,蓝色的曲线是的约束函数图像,则容易知:等值线与约束函数图像相交的点,就是满足约束条件的点
下面分析极值点可能出现的位置?极值点只能出现在和相交或者相切的位置
证明:如果极值点出现在交点,那么沿着的图像继续向前或向后走,一定还有其它的等值线与相交,也就是的值还能变大和变小,所以交点一定不是极值点,极值点只能出现在切点位置
且与在切点(极值点)处的梯度平行且反向,用数学语言描述即
切点处的梯度平行且反向至此,我们得到了和数学分析方法一样的结果
六、知识点1:牛顿迭代法求多元函数驻点
为了后面代码演示,我们使用牛顿迭代法求二元函数的驻点
牛顿迭代法算法为
牛顿迭代法对于二元函数求驻点,即所求解的方程组是
二元函数求驻点则将牛顿迭代法改为
牛顿迭代法为此,我们需要计算、、和四个一阶和二阶的偏导数值,注意不是偏导数表达式,牛顿迭代法里我们只需要偏导数值,为此我们采用数值微分近似算法
七、知识点2:数值微分求解多元函数的高阶偏导数
在数值微分中,一元函数微分的中点差分公式为:
一元函数微分的中点差分而我们要计算的一二阶偏导数,则由偏导数的数学定义:
偏导数的数学定义我们可以由一元函数微分的中点差分推导出二元函数的一阶偏微分和的中点差分公式为:
二元函数一阶偏微分的中点差分而的二阶偏微分和的中点差分公式可以由一阶偏微分递归计算得到:
二元函数二阶偏微分的中点差分八、案例演示
案例函数为:求的极值
数值微分计算高阶偏导数 牛顿迭代法 分析极值 实验结果 函数图像 函数等值线案例代码见:多元函数的极值分析
网友评论