zoukankan      html  css  js  c++  java
  • 拉格朗日对偶

    承接上一篇:拉格朗日乘子法和KKT条件

    优化理论中,目标函数f(x)有多种形式:目标函数和约束条件都是x的线性函数,称最优化问题为线性规划;目标函数为二次函数,约束条件为线性函数,称最优化问题为二次规划;目标函数或约束条件为非线性函数,称最优化问题为非线性规划

    每个线性规划问题都有对应的对偶问题,对偶问题性质:

    1. 对偶问题的对偶是原问题
    2. 原始问题是否为凸,对偶问题都是凸优化问题
    3. 对偶问题可以给原始问题一个下界
    4. 满足一定条件时,原始问题与对偶问题解完全等

    下面例子中,原始问题非凸,对偶问题是凸:

    原始问题

    不等式约束优化问题:

    定义拉格朗日如下:

    根据以上拉格朗日得到结论:

    (*)很容易验证,因为 hi(x) = 0,而 gj(x) ≤ 0,βj ≥ 0,得 βjgj(x) ≤ 0,所以最大值是都取0时,这个时候只剩下 f(x) 。反之如果任意一个约束条件不满足,只需令其相应的乘子→ +∞,则 L(x, α, β)→ +∞,这样导致问题无解,因此必须满足约束条件。经过这一转变,约束融合到一起得到如下无约束优化目标:

    对偶问题

    上式与原优化目标等价,称作原始问题,将原始问题的解记做 P* ,如此便把带约束问题转化为无约束的原始问题,其实只是一个形式上的重写,方便找到其对应的对偶问题,首先为对偶问题定义一个对偶函数:

    有了对偶函数就可给出对偶问题了,只是把 min 和 max 交换了一下:

    然后定义对偶问题的最优解即关于 α, β 的函数:

    对偶问题和原始问题的最优解并不相等,而是满足如下关系:

    直观理解为 最小的里面中最大的那个 要比 最大的里面中最小的那个 要大。证明过程:

    对偶问题与原始问题的关系如下:

    即 D(α, β) ≤ f(x),自然而然得到:

    即通过对偶性,为原始问题引入一个下界,d*≤ p*

    这个性质便叫做弱对偶性,对所有优化问题都成立,即使原始问题非凸。

    这里还有两个概念:

    f(x) - D(α, β)叫做对偶间隔,p*-d*叫做最优对偶间隔。

    之前提到无论原始问题什么形式,对偶问题总是一个凸优化问题,这样对于那些难以求解的原始问题(甚至NP问题),均可通过转化为对偶问题,通过优化这个对偶问题得到原始问题的一个下界,与弱对偶性相对应的有一个强对偶性,强对偶性满足:

    d* = p* 

    强对偶成立的情况下,可以通过求解对偶问题得到原始问题的解,在SVM中就是这样做的。

    当然并不是所有的对偶问题都满足强对偶性,在SVM中是直接假定了强对偶性的成立,其实只要满足一些条件,强对偶性是成立的,比如说Slater条件与KKT条件

    Slater条件

    若原始问题为凸优化问题,且存在严格满足约束条件的点 x,这里“严格”指 gi(x) ≤ 0 中的“≤”严格取到“<”,即存在 x 满足 gi(x)<0,i = 1,2,3...n,则存在 x*,α*,β*使得 x* 是原始问题的解,α*,β*是对偶问题的解,且满足:p* = d* = L(x*,α*,β*)

    p=d=L(x,α,β)

     也就是说如果原始问题是凸优化问题并且满足 Slater 条件的话,那么强对偶性成立。需要注意的是,这里只是指出了强对偶成立的一种情况,并不是唯一的情况。例如,对于某些非凸优化的问题,强对偶也成立。SVM 中的原始问题 是一个凸优化问题(二次规划也属于凸优化问题),Slater 条件在 SVM 中指的是存在一个超平面可将数据分隔开,即数据是线性可分的。当数据不可分时,强对偶是不成立的,这个时候寻找分隔平面这个问题本身也就是没有意义了,所以对于不可分的情况预先加个 kernel 就可以了。

    来自: https://www.cnblogs.com/ooon/p/5723725.html

  • 相关阅读:
    关于各种编程语言调用C星寻路插件的例子
    练习作品11:语音识别 准确度70%
    练习作品10:被一个傻叉坑了 要求把串口 封装到DLL中调用;
    Dynamics CRM 构建IN查询
    初识Spark2.0之Spark SQL
    从Dynamics CRM2011到Dynamics CRM2016的升级之路
    Dynamics CRM2011 导入解决方案报根组件插入错误的解决方法
    基于hadoop的BI架构
    Dynamics CRM 不同的站点地图下设置默认不同的仪表板
    Dynamics CRM 打开数据加密报错及修改用户邮件保存报错的解决方法
  • 原文地址:https://www.cnblogs.com/keye/p/10921515.html
Copyright © 2011-2022 走看看