拉格朗日乘子法

http://blog.youkuaiyun.com/huanongjingchao/article/details/17298569

机器学习中的优化问题:
http://www.chawenti.com/articles/20470.html

Hessen矩阵 http://baike.baidu.com/link?url=rCRY2TCiiEwBZ585Qw65hPRU89pMXJbyAFOrIAjXC-yAIqJulnUrzNDrG_2Wbx6P24lEtD28xrK2SvxcnAdZFa

在求取有约束条件的优化问题时,拉格朗日乘子法和KKT条件是非常重要的两种方法。
这里写图片描述
当然,这两个方法求得的结果只是必要条件,只有当是凸函数的情况下,才能保证是充分必要条件。KKT条件是拉格朗日乘子法的泛化。之前学习的时候,只知道直接应用两个方法,但是却不知道为什么拉格朗日乘子法(Lagrange Multiplier) 和KKT条件能够起作用,为什么要这样去求取最优值呢?

拉格朗日乘子法(Lagrange Multiplier) 和KKT条件

通常我们需要求解的最优化问题有如下几类:

  • 无约束优化问题
    minf(x)
  • 等式约束问题
      minf(x)

    s.t  hi(x)=0;i=1...n

    • 不等式约束问题
        minf(x)

      s.t  hi(x)=0;i=1...n

      gi(x)0;i=1...n

对于第一类的优化问题,常常使用的方法就是Fermat定理,即使用求取 f(x) 的导数,然后令其为零,可以求得候选最优值,再在这些候选值中验证;如果是凸函数,可以保证是最优解。
对于第(ii)类的优化问题,常常使用的方法就是拉格朗日乘子法(Lagrange Multiplier) ,即把等式约束 hi(x) 用一个系数与 f(x) 写为一个式子,称为拉格朗日函数,而系数称为拉格朗日乘子。通过拉格朗日函数对各个变量求导,令其为零,可以求得候选值集合,然后验证求得最优值。
对于第(iii)类的优化问题,常常使用的方法就是KKT条件。同样地,我们把所有的等式、不等式约束与f(x)写为一个式子,也叫拉格朗日函数,系数也称拉格朗日乘子,通过一些条件,可以求出最优值的必要条件,这个条件称为KKT条件。

  • 拉格朗日乘子法(Lagrange Multiplier)
    e.g:
    min f(x,y)=x2+y2
    s.t:x+2Y=1
    即: h(x,y)=x+2y1=0
    这里写图片描述
  • KKT 条件
    一般地,一个最优化数学模型能够表示成下列标准形式:
    所谓 Karush-Kuhn-Tucker 最优化条件,就是指上式的最小点 x* 必须满足下面的条件:
    这里写图片描述

KKT最优化条件是Karush[1939]以及Kuhn和Tucker[1951]先后独立发表出來的。这组最优化条件在Kuhn和Tucker 发表之后才逐渐受到重视,因此许多书只记载成「Kuhn-Tucker 最优化条件 (Kuhn-Tucker conditions)」。
这里写图片描述
KKT条件第一项是说最优点必须满足所有等式及不等式限制条件,也就是说最优点必须是一个可行解,这一点自然是毋庸置疑的。第二项表明在最优点 ¥ xf 必須是 hj gk 的线性組合, 和 都叫作拉格朗日乘子。所不同的是不等式限制条件有方向性,所以每一个 kµ都必须大於或等於零,而等式限制条件没有方向性,所以 jλ没有符号的限制,其符号要视等式限制条件的写法而定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值