美文网首页
多元函数的极值分析

多元函数的极值分析

作者: PrivateEye_zzy | 来源:发表于2019-07-09 13:46 被阅读0次

    本章涉及知识点:

    1、无条件极值

    2、Hessian矩阵

    3、有条件极值

    4、数学分析角度

    5、几何角度

    6、知识点1:牛顿迭代法求多元函数驻点

    7、知识点2:数值微分求解多元函数高阶偏导数

    8、案例演示

    一、无条件极值

    我们从二元函数f(x,y)开始研究其极值问题

    f(x,y)除自身定义域D外,没有别的条件约束,这类问题我们称为多元函数的无条件极值问题

    f(x,y)驻点(x_{0},y_{0}),且f(x,y)各个自变量的一阶偏导数均存在,则

    必要条件

    特别注意的是:此时(x_{0},y_{0})不一定f(x,y)的极值点

    例如:f(x,y) = x^4 + y^4 - 4xy + 1

    其一阶偏导数为:f_{x}(x,y) = 4x^3 - 4yf_{y}(x,y) = 4y^3 - 4x

    可以看到(x_{0},y_{0})=(0,0)f(x,y) 其中一个驻点,而我们画出函数图像和其等值线图像

    函数图像 函数等值线

    从函数等值线上可以看出:(x_{0},y_{0})=(0,0)不是函数极值点,而只是一个鞍点

    结论:驻点是f(x,y) 取极值的必要条件,即f(x,y) 取极值的点一定是驻点,但是驻点不一定是f(x,y) 的极值点

    所以我们不能只凭一阶偏导数求驻点来判定多元函数的极值点,还需要分析f(x,y) 二阶偏导数的情况

    我们将f(x,y) 在极值点(x_{0},y_{0})处进行二阶Taylor展开,得

    二阶泰勒公式

    由极值点的必要条件,因为(x_{0},y_{0})f(x,y) 驻点,即

    极值点的必要条件

    则上式二阶Taylor可写为

    二阶泰勒公式

    我们将上式写为矩阵方程形式,即

    二阶泰勒矩阵形式

    显然这是一个关于\begin{bmatrix}x - x_{0}\\ y - y_{0}\end{bmatrix}二次型方程,则记

    X = \begin{bmatrix}x \\ y \end{bmatrix}X_{0}  = \begin{bmatrix}x_{0}\\ y_{0}\end{bmatrix}

     H(x_{0}, y_{0})  =  H(X_{0})=  \begin{bmatrix}f_{xx}(X_{0}) & f_{xy}(X_{0})\\ f_{yx}(X_{0}) & f_{yy}(X_{0})\\\end{bmatrix}

    则上式矩阵方程可写为

    二阶泰勒矩阵形式

    分类讨论:

    (1)如果H(X_{0})正定矩阵,则

    极小值

    说明:对于在驻点(x_{0}, y_{0}) 的某邻域内,任何(x, y) 的函数值均大于驻点的函数值。

    即:驻点(x_{0}, y_{0}) f(x,y) 极小值点

    (2)如果H(X_{0})负定矩阵,则

    极大值

    说明:对于在驻点(x_{0}, y_{0}) 的某邻域内,任何(x, y) 的函数值均大于驻点的函数值。

    即:驻点(x_{0}, y_{0}) f(x,y) 的极大值点

    (3)如果H(X_{0})不定矩阵,则

    鞍点

    说明:对于在驻点(x_{0}, y_{0}) 的某邻域内,存在某个具体的点(x_{1}, y_{1}) ,该点的函数值大于驻点的函数值;还存在某个具体的点(x_{2}, y_{2}) ,该点的函数值小于驻点的函数值。

    即:驻点(x_{0}, y_{0}) 不是f(x,y) 的极值点,而是其一个鞍点

    综上讨论:驻点(x_{0}, y_{0}) 是否是f(x,y) 的极值点,正比于H(X_{0})的正负定

    二、Hessian矩阵

    对于二元函数f(x,y) ,其在驻点(x_{0}, y_{0}) 的Hessian矩阵为

    二元函数的Hessian矩阵

    我们记:A = f_{xx}(x_{0}, y_{0})B = f_{xy}(x_{0}, y_{0}) = f_{yx}(x_{0}, y_{0})C = f_{yy}(x_{0}, y_{0})

    f(x,y) 的Hessian矩阵为: H(x_{0}, y_{0})  =  \begin{bmatrix}A& B\\ B & C \\\end{bmatrix}

    则通过上述分析,f(x,y) 驻点(x_{0}, y_{0}) 的极值情况为:

    (1)如果A>0,且AC-B^2>0,则f(x,y) (x_{0}, y_{0}) 处取极小值

    (2)如果A>0,且AC-B^2>0,则f(x,y) (x_{0}, y_{0}) 处取极大值

    (3)如果AC-B^2<0,则f(x,y) (x_{0}, y_{0}) 处无极值

    更一般的,我们从二元函数的极值判定,可以推广到多元函数的极值判定

    对于多元函数f(x_{1},x_{2},...,x_{n}) ,其在驻点(a_{1}, a_{2},...,a_{n}) 的Hessian矩阵为

    多元函数的Hessian矩阵 

    同理,f(x_{1},x_{2},...,x_{n}) 极值的判定条件取决与 H(a_{1}, a_{2},...,a_{n})正负定

    三、有条件极值

    在实际问题中,我们会遇到f(x,y) 需要满足某个或者某几个约束条件g(x,y) =0下的极值问题,称之为有条件的极值问题,即

    有条件极值

    通常,我们称函数f(x,y) 目标函数,方程g(x,y) =0约束条件,自变量x、y称为决策变量

    分析这类问题,需要将有条件极值问题转化为无条件极值问题,下面我们从数学分析角度几何角度来处理有条件极值

    四、数学分析角度

    (x_{0}, y_{0}) 满足约束条件g(x_{0}, y_{0}) =0,且是f(x,y)的极值点

    则由隐函数存在定理,在x_{0}某邻域内可以确定一个具有连续可导的隐函数

    隐函数

    二元函数的有条件极值问题,就转化为一元函数的条件极值问题,即

    有条件极值

    由一元函数取极值的必要条件:一阶导数为0,得

    一元函数取极值

    我们对条件约束方程:g(x, y(x)) = 0,两边同时对x求导,得

    隐函数导数

    (x_{0}, y_{0}) 带入上式,得

    隐函数导数

    将上式代入一元函数取极值的方程,得

    一元函数取极值

    我们令:\lambda_{0} = \frac{-f_{y}(x_{0},y_{0})}{g_{y}(x_{0},y_{0})},则可以推导出:

    有条件极值

    不要忘却约束条件:g(x_{0}, y_{0})  = 0,加上约束条件,则我们推导出二元函数f(x,y)的有条件极值的解法:

    有条件极值的解法

    观察上式关系,我们可以用一个统一的函数:拉格朗日函数L(x, y, \lambda )来描述

    拉格朗日函数

    L(x, y, \lambda )的无条件极值,就等价于求f(x,y)的有条件极值,即

    求拉格朗日函数的无条件极值

    结论:二元函数f(x,y)g(x,y) =0约束下求有条件极值问题,可以等价转化为拉格朗日函数L(x, y, \lambda )求无条件极值问题(\bigtriangledown  L(x_{0}, y_{0}, \lambda_{0} ) =  0

    我们称上述算法为:拉格朗日乘子法(SVM算法中引用)

    五、几何角度

    我们画出f(x,y)的等值线

    二元函数的等值线变化

    图中黑圈指f(x,y)投影在平面上的等值线,蓝色的曲线是g(x,y) =0的约束函数图像,则容易知:等值线与约束函数图像相交的点,就是f(x,y)满足约束条件的点

    下面分析极值点可能出现的位置?极值点只能出现在f(x,y)g(x,y) =0相交或者相切的位置

    证明:如果极值点出现在交点,那么沿着g(x,y) 的图像继续向前或向后走,一定还有其它的f(x,y)等值线与g(x,y) 相交,也就是f(x,y)的值还能变大和变小,所以交点一定不是极值点,极值点只能出现在切点位置

    f(x,y)g(x,y) 切点(极值点)处的梯度平行且反向,用数学语言描述即

    切点处的梯度平行且反向

    至此,我们得到了和数学分析方法一样的结果

    六、知识点1:牛顿迭代法求多元函数驻点

    为了后面代码演示,我们使用牛顿迭代法求二元函数f(x,y)的驻点

    牛顿迭代法算法为

    牛顿迭代法

    对于二元函数f(x,y)求驻点,即所求解的方程组是

    二元函数求驻点

    则将牛顿迭代法改为

    牛顿迭代法

    为此,我们需要计算\frac{\partial }{\partial x}f(x_{k}, y)\frac{\partial }{\partial y}f(x, y_{k})\frac{\partial^2 }{\partial x^2}f(x_{k},y)\frac{\partial^2 }{\partial y^2}f(x,y_{k})四个一阶和二阶的偏导数值,注意不是偏导数表达式,牛顿迭代法里我们只需要偏导数值,为此我们采用数值微分近似算法

    七、知识点2:数值微分求解多元函数的高阶偏导数

    在数值微分中,一元函数f(x)微分的中点差分公式为:

    一元函数微分的中点差分

    而我们要计算f(x,y)的一二阶偏导数,则由偏导数的数学定义:

    偏导数的数学定义

    我们可以由一元函数f(x)微分的中点差分推导出二元函数f(x,y)的一阶偏微分\frac{\partial }{\partial x}f(x_{k}, y)\frac{\partial }{\partial y}f(x, y_{k})的中点差分公式为:

    二元函数一阶偏微分的中点差分

    f(x,y)的二阶偏微分\frac{\partial^2 }{\partial x^2}f(x_{k},y)\frac{\partial^2 }{\partial y^2}f(x,y_{k})的中点差分公式可以由一阶偏微分递归计算得到:

    二元函数二阶偏微分的中点差分

    八、案例演示

    案例函数为:求z = \frac{x+y}{x^2 + y^2 + 1}
的极值

    数值微分计算高阶偏导数 牛顿迭代法 分析极值 实验结果 函数图像 函数等值线

    案例代码见:多元函数的极值分析

    相关文章

      网友评论

          本文标题:多元函数的极值分析

          本文链接:https://www.haomeiwen.com/subject/cqxshctx.html