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

    文章结构如下:

    1: 原始问题

    2: 对偶问题

    3: 原始问题和对偶问题的关系

    4: 参考文献

    在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转为对偶问题,通过解决对偶问题而得到原始问题的解。

    对偶问题有非常良好的性质,以下列举几个:

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

    1: 原始问题

    假设 [公式] 是定义在 [公式] 上的连续可微函数。
    称约束最优化问题

    [公式]

    为原始最优化问题或原始问题。

    首先引入拉格朗日函数(generalized Lagrange function)


    [公式] 
    其中, [公式] 是拉格朗日乘子, [公式] 。

    构建关于 [公式] 的函数

    [公式] 
    假设给定某个违反原始问题约束条件的 [公式] ,即存在某个 [公式] 使得 [公式] 或 [公式] 。若 [公式] ,可令 [公式] ,使得 [公式] ;若 [公式] ,可令 [公式] 使 [公式] ,使得 [公式] 。将其余 [公式] 均取值为0。 

    [公式]

    假设给定某个符合原始问题约束条件的 [公式] ,即 [公式] 且 [公式] ,

    [公式] 
    由以上,得

    [公式] 
    则极小化问题

    [公式] 
    与原始最优化问题等价,即有相同的解。(因为当趋向无穷时,问题无解,因此必须满足约束条件)

    [公式]

    称为广义拉格朗日函数的极小极大问题。

    定义原始问题的最优值

    [公式] 
    称为原始问题的值。

    2: 对偶问题

    构建关于 [公式] 的函数

    [公式] 
    则极大化问题

    [公式] 
    称为广义拉格朗日函数的极大极小问题。

    将广义拉格朗日函数的极大极小问题表示为约束最优化问题

    [公式] 
    称为原始问题的对偶问题。

    定义对偶问题的最优值

    [公式] 
    称为对偶问题的值。

    3: 原始问题和对偶问题的关系

    若原始问题与对偶问题都有最优解,则

    [公式] 
    这个性质便叫做弱对偶性(weak duality),对于所有优化问题都成立,即使原始问题非凸。

    与弱对偶性相对应的有一个强对偶性(strong duality) ,强对偶即满足:

    [公式] 
    强对偶是一个非常好的性质,因为在强对偶成立的情况下,可以通过求解对偶问题来得到原始问题的解,在 SVM 中就是这样做的。当然并不是所有的对偶问题都满足强对偶性 ,在 SVM 中是直接假定了强对偶性的成立,其实只要满足一些条件,强对偶性是成立的,比如说 Slater 条件与KKT条件。

    Slater条件:对于原始问题及其对偶问题,假设函数 [公式] 和 [公式] 是凸函数, [公式] 是仿射函数,且不等式约束 [公式] 是严格可行的,即存在 [公式] ,对所有 [公式] 有 [公式] ,则存在 [公式]使 [公式] 是原始问题的解, [公式] 是对偶问题的解,并且

    [公式] 
    也就是说如果原始问题是凸优化问题并且满足 Slater 条件的话,那么强对偶性成立。需要注意的是,这里只是指出了强对偶成立的一种情况,并不是唯一的情况。

    KKT条件:对于原始问题及其对偶问题,假设函数 [公式] 和 [公式] 是凸函数, [公式] 是仿射函数,且不等式约束 [公式] 是严格可行的,即存在 [公式] ,对所有 [公式] 有 [公式] ,则存在 [公式],使 [公式] 是原始问题的解, [公式] 是对偶问题的解的充分必要条件是 [公式] 满足下面的Karush-Kuhn-Tucker(KKT)条件:

    [公式] 
    总的来说就是说任何满足强对偶性的优化问题,只要其目标函数与约束函数可微,任一对原始问题与对偶问题的解都是满足 KKT 条件的。即满足强对偶性的优化问题中,若 [公式] 为原始问题的最优解, [公式] 为对偶问题的最优解,则可得 [公式] 满足 KKT 条件。

    KKT详见:Karush-Kuhn-Tucker (KKT)条件

    小结:本文介绍了对偶的基本概念,对于一个约束优化问题,找到其对偶问题,当弱对偶成立时,可以得到原始问题的一个下界。而如果强对偶成立,则可以直接求解对偶问题来解决原始问题。 SVM 就是这样的。对偶问题由于性质良好一般比原始问题更容易求解,在 SVM 中通过引入对偶问题可以将问题表示成数据的内积形式从而使得 kernel trick 的应用更加自然)。

  • 相关阅读:
    ul 和 ol 标签的相关设置
    程序员送给大学生弟弟的话
    react-dom.js 源码
    什么是 JSX
    The 2019 ICPC China Nanchang National Invitational and International Silk-Road Programming Contest C. Xyjj’s sequence(动态规划+欧拉降幂)
    Codeforces Round #584 E2. Rotate Columns (hard version)(状压DP)
    P3343 [ZJOI2015]地震后的幻想乡(概率dp+状压dp)
    Educational Codeforces Round 73 (Rated for Div. 2) D. Make The Fence Great Again
    红蓝字符串 牛客网
    Wannafly挑战赛6 锁
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/12994832.html
Copyright © 2011-2022 走看看