zoukankan      html  css  js  c++  java
  • 拉格朗日乘子法

    1 拉格朗日乘子法基本概念

    拉格朗日乘子法是在约束条件$g(x_1,x_2,...)=0$下,计算函数$f(x_1,x_2,...)$极值的方法。

    以二元函数为例,约束条件为$g(x,y)=0$,求函数$f(x,y)$的极值,定义一个新的函数$F(x,y,lambda)=f(x,y)+lambda g(x,y)$,求此函数的极值。

    极值的第一个条件是,函数的偏导为0,即有:$frac{partial F}{partial x}=0$,$frac{partial F}{partial y}=0$,$frac{partial F}{partial lambda}=0$,求出$x、y、lambda$的值后,即可求值函数的极值。

    2 约束条件定义

    在有约束条件下,求函数极值要表示为以下形式:

    $$egin{cases}
    minf(x)\
    s.t. g_i(x)<0,i=1,2,...,q\
    h_j(x)=0,j=q+1,q+2,...,m\
    xin D
    end{cases}$$

    其中$f(x$为目标函数,$g(x)$为不等式约束,$h(x)$为等式约束。

    若$f(x),g(x),h(x)$均为线性函数,则该问题为线性优化问题,若其中一个为非线性,则称为非线性优化问题。

    若$f(x)$为二次函数,约束全为线性函数,则称为二次优化问题。

    2.1 等式约束条件

    在等式约束条件下,目标函数取得极小值时,目标函数的梯度与等式约束条件的梯度相等,有:

    $$ abla_Xf(X^*)=mu abla_Xh(X^*)$$

    同时,满足$h(x)=0$,即可构造拉格朗日函数$L(X,mu)=f(X)+mu h(X)$。

    求函数的极值转化为 :

    $$
    abla_XL(X^*,mu^*)=0\
    abla_mu L(X^*,mu^*)=0
    $$

    此条件是凸优化的解,如果是非凸函数,则还要加一个条件:

    $y^t( abla_{xx}^2L(x^*,mu^*))ge 0 forall y s.t. abla_xh(X^*)^ty=0$,此条件是一个正定条件。

    2.2 不等式约束条件

    等式$h(x)=0$在平面上画一条等高线,而不等式$g(x)ge 0$在在平面上圈出一块区域,称为可行域。

    函数极值与可行域的关系有两种,一种是极值在可行域范围内,另一种是极值在可行域范围外。

     2.2.1 极值点在可行域内

    这种情况下,不等式约束不起作用,$f(x)$的极值就是新函数$L(X,mu)$的极值。

    2.2.2 极值点在可行域外

    这种情况下,不等式约束是有效的,$f(x)$的极值不再是新函数$L(X,mu)$的极值,要考虑$f(x)$,在可行域内的极值。

    这时$f(x)$的梯度与$g(x)$的负梯度相同,如图所示。

    这时有$- abla_xf(x)=lambda abla_xg(x)quad andquad lambdagt 0$

    3 KKT条件

    上述过程中,不等式约束条件下凸函数极值三个条件:梯度为0、$lambdagt 0$、$lambda^*g(x^*)=0$构成了KKT三个条件。

    $$egin{cases}
    1. abla_xL(x^*,lambda^*)=0 qquad 梯度为0\
    2. lambda^*ge0 qquadqquad lambdagt 0\
    3. lambda^*g(x^*)=0 qquad 在g(x)=0(切线)处取得极值,极值在约束函数的边界
    end{cases}$$

    在非凸函数时,需要增加其他额外的条件。

    参考了博客园的一篇博客。 

  • 相关阅读:
    Top 10 Product Manager Skills To Boost Your Resume In 2021
    大数据知识梳理
    B端产品如何设计权限系统?
    华三盒式交换机MAC、ARP、Route性能表项参数查询
    中了传说中的挖矿病毒
    SqlServer 2019 事务日志传送
    docker中生成的pdf中文是方框的解决方案
    The Live Editor is unable to run in the current system configuration
    2021 面试题大纲
    五分钟搞定Docker安装ElasticSearch
  • 原文地址:https://www.cnblogs.com/guesswhy/p/11277327.html
Copyright © 2011-2022 走看看