• 一文看懂拉格朗日乘子法、KKT条件和对偶问题


    • 拉格朗日乘子法是解约束优化问题的常用方法,它和 KKT 条件、Slater 条件、拉格朗日对偶性等概念常常一起出现,本文梳理说明相关概念,并从几何与代数两个角度加以解释
    • 先有一个大概的认识
      1. 对于只有等式约束的优化问题,可以直接用拉格朗日乘子法列出拉格朗日函数,将其转化为无约束优化问题求解
      2. 对于包含不等式约束的优化问题,仍然可以像只有等式约束时一样列出拉格朗日函数,但此时函数中会包含对拉格朗日乘子的新约束,优化它得到的最优值结果一定满足 KKT 条件(KKT 是取最优参数值的必要条件,对于某些特殊的凸优化问题是充要条件)
      3. 含有不等式约束的问题列出拉格朗日函数后仍有约束不好处理,这时我们可以将其转化为拉格朗日对偶问题,这个对偶问题一定是凸优化问题,因此易于求解。优化问题一定具有弱对偶性,但要想对偶问题和原问题同解其必须满足强对偶性,强对偶性的充分条件是Slater 条件,必要条件是 KKT 条件
    • 参考
      1. 通俗易懂讲算法-最优化之拉格朗日乘子与KKT条件
      2. 《统计学习方法(第二版)》附录 C

    1. 拉格朗日乘子法

    1.1 只有等式约束

    • 考虑一个只有等式约束的约束优化问题
      min ⁡ x ∈ R n f ( x ) s.t. h i ( x ) = 0 , i = 1 , 2 , . . . , k minxRnf(x)s.t.hi(x)=0,i=1,2,...,k

      xRnmins.t.f(x)hi(x)=0,i=1,2,...,k 假设只有一个约束,以 f ( x ) = x 1 + x 2 f(x)=x_1+x_2 f(x)=x1+x2, h ( x ) = x 1 2 + x 2 2 − 2 h(x)=x_1^2+x_2^2-2 h(x)=x12+x222 为例,将目标函数和约束画出
      在这里插入图片描述
      想要最小化 f ( x ) f(x) f(x),在无约束时我们只要按 f ( x ) f(x) f(x) 的负梯度方向(左下45度)做梯度下降即可,但在有约束的情况下,我们每一步都只能按约束园的切线方向(与约束面的梯度方向正交)移动
      在这里插入图片描述
      在这里插入图片描述

      显然,要想在每一步移动时都让目标函数更优,我们移动的方向必须和目标函数负梯度方向的夹角小于 90 度,换句话说,当移动方向和目标函数负梯度方向垂直时(约束面切向方向和目标函数负梯度方向垂直;约束面梯度方向和目标函数负梯度方向平行),我们就找到了一个 critical point(如图所示)。设此位置为 x ∗ x^* x,可以表示为
      ▽ x f ( x ∗ ) = μ ▽ x h ( x ∗ ) \triangledown_xf(x^*) = \mu \triangledown_xh(x^*) xf(x)=μxh(x) 从图中可以看出, x ∗ x^* x 是优化问题最优解的充要条件

      1. 此位置目标函数负梯度方向和约束面梯度方向相同: − ▽ x f ( x ∗ ) = μ ▽ x h ( x ∗ ) ,    μ > 0 -\triangledown_xf(x^*) = \mu \triangledown_xh(x^*), \space\space \mu>0 xf(x)=μxh(x),  μ>0
      2. 此位置在约束面上: h ( x ∗ ) = 0 h(x^*)=0 h(x)=0
      3. 在此位置附近沿可行方向移动,目标函数值不会变得更好:Hessian 矩阵与可行移动方向构成的二次型是半正定的
    • 通过上述几何角度的分析,我们可以建立起对拉格朗日乘数法的直观理解。对于有多个等式约束的优化问题
      min ⁡ x ∈ R n f ( x ) s.t. h i ( x ) = 0 , i = 1 , 2 , . . . , k minxRnf(x)s.t.hi(x)=0,i=1,2,...,k

      xRnmins.t.f(x)hi(x)=0,i=1,2,...,k 首先写出拉格朗日函数
      L ( x , μ ) = f ( x ) + μ ⊤ h ( x ) \mathcal{L} (x,\pmb{\mu}) = f(x)+\pmb{\mu}^\top \pmb{h}(x) L(x,μμ)=f(x)+μμhh(x) 则目标函数在 x ∗ , μ ∗ x^*,\mu^* x,μ 处取得极小值的充要条件为(这三条和上面充要条件一一对应

      1. ▽ x L ( x ∗ , μ ∗ ) = 0 \triangledown_x\mathcal{L} (x^*,\pmb{\mu}^*) = 0 xL(x,μμ)=0
      2. ▽ μ L ( x ∗ , μ ∗ ) = 0 \triangledown_{\pmb{\mu}}\mathcal{L} (x^*,\pmb{\mu}^*) = 0 μμL(x,μμ)=0
      3. y ⊤ ( ▽ x x 2 L ( x ∗ , μ ∗ ) ) y ≥ 0 ∀ y   s.t. ▽ x h ( x ∗ ) ⊤ y = 0 y^\top (\triangledown_{xx}^2\mathcal{L} (x^*,\pmb{\mu}^*))y\geq 0\quad \forall y\space\space\text{s.t.} \triangledown_xh(x^*)^\top y=0 y(xx2L(x,μμ))y0y  s.t.xh(x)y=0(注:这里 y y y x ∗ x^* x 位置的约束面切线方向,即可以移动的方向,Hessian 矩阵半正定意为这里 L \mathcal{L} L 关于 x x x 不凹,从而保证是局部极小值)

      这里求两个梯度为 0 正是使用拉格朗日乘子法的一般套路,像上面那样从几何角度可以清晰地看出其背后的原理

    1.2 只有不等式约束

    • 本节考虑只有不等式约束的约束优化问题
      min ⁡ x ∈ R n f ( x ) s.t. g j ( x ) ≤ 0 , j = 1 , 2 , . . . , l minxRnf(x)s.t.gj(x)0,j=1,2,...,l
      xRnmins.t.f(x)gj(x)0,j=1,2,...,l

    1.2.1 最优解在约束范围内

    • 假设只有一个约束,以 f ( x ) = x 1 2 + x 2 2 f(x)=x_1^2+x_2^2 f(x)=x12+x22, g ( x ) = x 1 2 + x 2 2 − 1 g(x)=x_1^2+x_2^2-1 g(x)=x12+x221 为例,将目标函数和约束画出
      在这里插入图片描述
      这时最优解为 x = [ 0 , 0 ] ⊤ x=[0,0]^\top x=[0,0],它位于约束面内部,加不加约束对于解没有影响。在 x ∗ x^* x 处取得最优解的充要条件和无约束时相同,为
      1. 此位置在约束区域内: g ( x ∗ ) < 0 g(x^*)<0 g(x)<0
      2. 此位置目标函数梯度为 0: ▽ x f ( x ∗ ) = 0 \triangledown_xf(x^*)=0 xf(x)=0
      3. 在此位置附近沿可行方向移动,目标函数值不会变得更好: ▽ x x 2 f ( x ∗ ) \triangledown_{xx}^2f(x^*) xx2f(x) 是半正定的 Hessian 矩阵

    1.2.2 最优解在约束范围外

    • 假设只有一个约束,以 f ( x ) = ( x 1 − 1.1 ) 2 + ( x 2 + 1.1 ) 2 f(x)=(x_1-1.1)^2+(x_2+1.1)^2 f(x)=(x11.1)2+(x2+1.1)2, g ( x ) = x 1 2 + x 2 2 − 1 g(x)=x_1^2+x_2^2-1 g(x)=x12+x221 为例,将目标函数和约束画出
      在这里插入图片描述
      这时约束面影响了最优解的值,从图中可以很明显地看出,此时的最优解必然位于约束面的边缘上,即必有 g ( x ∗ ) = 0 g(x^*)=0 g(x)=0,退化为和等式约束相同的情况
      在这里插入图片描述
      x ∗ x^* x 处取得最优解的充要条件和等式约束时相同,为
      1. 此位置在约束区域边界: g ( x ∗ ) = 0 g(x^*)=0 g(x)=0
      2. 此位置目标函数负梯度方向和约束面梯度方向相同: − ▽ x f ( x ∗ ) = λ ▽ x g ( x ∗ ) ,    λ > 0 -\triangledown_xf(x^*) = \lambda\triangledown_xg(x^*), \space\space \lambda>0 xf(x)=λxg(x),  λ>0
      3. 在此位置附近沿可行方向移动,目标函数值不会变得更好:Hessian 矩阵与可行移动方向构成的二次型是半正定的

    1.2.3 综合考虑两种情况

    • 考虑有多个不等式约束的约束优化问题
      min ⁡ x ∈ R n f ( x ) s.t. g j ( x ) ≤ 0 , j = 1 , 2 , . . . , l minxRnf(x)s.t.gj(x)0,j=1,2,...,l

      xRnmins.t.f(x)gj(x)0,j=1,2,...,l 首先写出拉格朗日函数
      L ( x , λ ) = f ( x ) + λ ⊤ g ( x ) \mathcal{L} (x,\pmb{\lambda}) = f(x)+\pmb{\lambda}^\top \pmb{g}(x) L(x,λλ)=f(x)+λλgg(x)

      1. 当最优解在(一个或多个)约束范围内时,这些约束等价于不存在(或者说这些约束条件是 松弛的,因此可以令 λ ∗ = 0 \pmb{\lambda}^*=\pmb{0} λλ=00 使 L ( x , λ ∗ ) = f ( x ) \mathcal{L} (x,\pmb{\lambda}^*) =f(x) L(x,λλ)=f(x)。根据 1.2.1 分析,在 x ∗ , λ ∗ x^*,\pmb{\lambda}^* x,λλ 处取得最优解的充要条件为
        1. g j ( x ∗ ) < 0 ,    j = 1 , 2 , . . . . , l g_j(x^*)<0, \space\space j=1,2,....,l gj(x)<0,  j=1,2,....,l
        2. λ ∗ = 0 \pmb{\lambda}^*=\pmb{0} λλ=00
        3. ▽ x L ( x ∗ , λ ∗ ) = 0 \triangledown_x\mathcal{L}(x^*,\pmb{\lambda}^*)=\pmb{0} xL(x,λλ)=00
        4. ▽ x x 2 L ( x ∗ , λ ∗ ) \triangledown_{xx}^2\mathcal{L} (x^*,\pmb{\lambda}^*) xx2L(x,λλ) 是半正定的 Hessian 矩阵
      2. 当最优解在(一个或多个)约束范围外时,约束条件会影响最优 x ∗ x^* x 的取值(或者说这些约束条件是 紧致的,在 x ∗ x^* x 处取得最优解的充要条件为
        1. g j ( x ∗ ) = 0 ,    j = 1 , 2 , . . . . , l g_j(x^*)=0, \space\space j=1,2,....,l gj(x)=0,  j=1,2,....,l
        2. λ j ∗ > 0 ,    j = 1 , 2 , . . . . , l \lambda^*_j>0, \space\space j=1,2,....,l λj>0,  j=1,2,....,l
        3. − ▽ x f ( x ∗ ) = λ ∗ ⊤ ▽ x g ( x ∗ ) ⟹ ▽ x L ( x ∗ , λ ∗ ) = 0 -\triangledown_xf(x^*) = \pmb{\lambda^*}^\top\triangledown_xg(x^*) \quad \Longrightarrow \triangledown_x\mathcal{L}(x^*,\pmb{\lambda}^*)=\pmb{0} xf(x)=λλxg(x)xL(x,λλ)=00
        4. y ⊤ ( ▽ x x 2 L ( x ∗ ) ) y ≥ 0 ∀ y   s.t. ▽ x g ( x ∗ ) ⊤ y = 0 y^\top (\triangledown_{xx}^2\mathcal{L} (x^*))y\geq 0\quad \forall y\space\space\text{s.t.} \triangledown_xg(x^*)^\top y=0 y(xx2L(x))y0y  s.t.xg(x)y=0 (Hessian 矩阵与可行移动方向构成的二次型是半正定的)

      以上两种情况可以合并考虑,总结出的在 x ∗ , λ ∗ x^*,\pmb{\lambda}^* x,λλ 处取得最优解的充要条件为

      1. ▽ x L ( x ∗ , λ ∗ ) = 0 \triangledown_x\mathcal{L}(x^*,\pmb{\lambda}^*)=\pmb{0} xL(x,λλ)=00
      2. λ j ∗ > 0 ,    j = 1 , 2 , . . . . , l \lambda^*_j>0, \space\space j=1,2,....,l λj>0,  j=1,2,....,l
      3. λ j ∗ g j ( x ∗ ) = 0 ,    j = 1 , 2 , . . . . , l \lambda^*_jg_j(x^*)=0, \space\space j=1,2,....,l λjgj(x)=0,  j=1,2,....,l
      4. g j ( x ∗ ) ≤ 0 ,    j = 1 , 2 , . . . . , l g_j(x^*)\leq 0, \space\space j=1,2,....,l gj(x)0,  j=1,2,....,l
      5. ▽ x x 2 L ( x ∗ , λ ∗ ) \triangledown_{xx}^2\mathcal{L} (x^*,\pmb{\lambda}^*) xx2L(x,λλ) 是半正定的 Hessian 矩阵

    1.3 拉格朗日乘子法与 KKT 条件

    • 首先,拉格朗日乘子法是仅仅针对等式约束优化问题的,即 1.1 节中讨论的情况,我们写出拉格朗日函数 L ( x , μ ) \mathcal{L}(x,\mu) L(x,μ) 后,直接联立 ∂ L ∂ x = 0 \frac{\partial\mathcal{L}}{\partial x}=0 xL=0 ∂ L ∂ μ = 0 \frac{\partial\mathcal{L}}{\partial \mu}=0 μL=0 求解无约束优化问题即可

    • 我们希望把拉格朗日乘子法扩展到带不等式约束的优化问题,这时就需要将其转化为朗日对偶问题处理,并用 KKT 条件保证解的等价性。先看 KKT 条件:结合 1.1 和 1.2 节,考虑有 k k k 个等式约束和 l l l 个不等式约束的优化问题,假设 f ( x ) , h i ( x ) , g j ( x ) f(x), h_i(x), g_j(x) f(x),hi(x),gj(x) 是定义在 R n \mathbb{R}^n Rn 上的连续可微函数
      min ⁡ x ∈ R n f ( x ) s.t. h i ( x ) ≤ 0 , i = 1 , 2 , . . . , k g j ( x ) = 0 , j = 1 , 2 , . . . , l minxRnf(x)s.t.hi(x)0,i=1,2,...,kgj(x)=0,j=1,2,...,l

      xRnmins.t.f(x)hi(x)0,i=1,2,...,kgj(x)=0,j=1,2,...,l 接下来构造拉格朗日函数
      L ( x , μ , λ ) = f ( x ) + μ ⊤ h ( x ) + λ ⊤ g ( x ) \mathcal{L}(x,\pmb{\mu},\pmb{\lambda}) = f(x)+\pmb{\mu}^\top h(x)+\pmb{\lambda}^\top g(x) L(x,μμ,λλ)=f(x)+μμh(x)+λλg(x) 综合 1.1 和 1.2 节的分析,优化目标在 x ∗ , μ ∗ , λ ∗ x^*,\pmb{\mu}^*,\pmb{\lambda}^* x,μμ,λλ 处取得极小值的充要条件为

      1. ▽ x L ( x ∗ , λ ∗ , μ ∗ ) = 0 \triangledown_x\mathcal{L}(x^*,\pmb{\lambda}^*,\pmb{\mu}^*)=\pmb{0} xL(x,λλ,μμ)=00
      2. λ j ∗ > 0 ,    j = 1 , 2 , . . . . , l \lambda^*_j>0, \space\space j=1,2,....,l λj>0,  j=1,2,....,l
      3. λ j ∗ g j ( x ∗ ) = 0 ,    j = 1 , 2 , . . . . , l \lambda^*_jg_j(x^*)=0, \space\space j=1,2,....,l λjgj(x)=0,  j=1,2,....,l
      4. g j ( x ∗ ) ≤ 0 ,    j = 1 , 2 , . . . . , l g_j(x^*)\leq 0, \space\space j=1,2,....,l gj(x)0,  j=1,2,....,l
      5. h ( x ∗ ) = 0 h(x^*)=\pmb{0} h(x)=00
      6. ▽ x x 2 L ( x ∗ , λ ∗ ) \triangledown_{xx}^2\mathcal{L} (x^*,\pmb{\lambda}^*) xx2L(x,λλ) 是半正定的 Hessian 矩阵

      这就是所谓的 KKT条件(通常不提第 6 条)

      1. 当原始问题是凸优化问题时,可以认为 KKT 条件是在 x ∗ x^* x 处取得极小值的充要条件(准确地说,当 f , g f, g f,g凸函数 h h h 是仿射函数,且不等式约束 g g g 严格可行时,KKT 是充要条件)
      2. 否则,KKT 条件是在 x ∗ x^* x 处取得极小值的必要条件
    • 观察一下 KKT 条件,其实 1,5,6 三条合起来就是拉格朗日乘子法的计算步骤,引入不等式约束后出现了 2,3,4 条,其中第 2 条是构造拉格朗日函数后新进入的不等式约束,约束无法完全去除,求解仍很困难,这时就要用到拉格朗日对偶性转换为对偶问题了

    2. 拉格朗日对偶性

    • 利用拉格朗日对偶性将原始问题转化为对偶问题,通过解对偶问题得到原问题的解,是统计学习方法中常用的一个技巧。最大熵和支持向机等模型推导中都有应用
    • 本节参考《统计学习方法(第二版)》附录 C,符号和前文有所变化,请注意

    2.1 原始问题

    • 假设 f ( x ) , c i ( x ) , h j ( x ) f(x), c_i(x), h_j(x) f(x),ci(x),hj(x) 是定义在 R n \mathbb{R}^n Rn 上的连续可微函数。考虑约束优化问题
      min ⁡ x ∈ R n f ( x ) s.t. c i ( x ) ≤ 0 , i = 1 , 2 , . . . , k h j ( x ) = 0 , j = 1 , 2 , . . . , l (1) minxRnf(x)s.t.ci(x)0,i=1,2,...,khj(x)=0,j=1,2,...,l

      \tag{1} xRnmins.t.f(x)ci(x)0,i=1,2,...,khj(x)=0,j=1,2,...,l(1) 称此约束优化问题为 原始优化问题/原始问题

    • 引入拉格朗日乘子 β j \beta_j βj α i ≥ 0 \alpha_i\geq 0 αi0将约束项作为惩罚项合并到优化目标中,得到 广义拉格朗日函数
      L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) \mathcal{L}(x,\alpha,\beta) = f(x)+\sum_{i=1}^k \alpha_ic_i(x) + \sum_{j=1}^l \beta_j h_j(x) L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x) 其中 x = [ x ( 1 ) , x ( 2 ) , . . . , x ( n ) ] ⊤ ∈ R n x=[x^{(1)},x^{(2)},...,x^{(n)}]^\top \in\mathbb{R}^n x=[x(1),x(2),...,x(n)]Rn。考虑 x x x 的函数
      θ P ( x ) = max ⁡ α , β : a i ≥ 0 L ( x , α , β ) \theta_P(x) = \max_{\alpha,\beta:a_i\geq 0} \mathcal{L}(x,\alpha,\beta) θP(x)=α,β:ai0maxL(x,α,β) 这里下标 P P P 表示原始问题。考察这个函数,不难发现

      1. x x x 违反了某个不等式约束使得 c i ( x ) > 0 c_i(x)>0 ci(x)>0,则可令 α i → + ∞ \alpha_i\to +\infin αi+,使得 θ P ( x ) = + ∞ \theta_P(x)=+\infin θP(x)=+
      2. x x x 违反了某个等式约束使得 h j ( x ) ≠ 0 h_j(x)\neq 0 hj(x)=0,则可找出某个 β j \beta_j βj 使 β j ( x ) h j ( x ) = + ∞ \beta_j(x)h_j(x)=+\infin βj(x)hj(x)=+,使得 θ P ( x ) = + ∞ \theta_P(x)=+\infin θP(x)=+
      3. 若约束全部满足,则必有 α i = 0 , h j ( x ) = 0 \alpha_i=0, h_j(x) = 0 αi=0,hj(x)=0,此时有 θ P ( x ) = f ( x ) \theta_P(x)=f(x) θP(x)=f(x)

      上述讨论可以总结为以下关系
      θ P ( x ) = { f ( x ) , x 满足原始约束 + ∞ , 其他 \theta_P(x)=\left\{ f(x),x+\infin,

      \right. θP(x)={f(x)+,x满足原始约束,其他 所以如果我们考虑极小化问题(广义拉格朗日函数的极小极大问题
      min ⁡ x θ P ( x ) = min ⁡ x max ⁡ α , β : a i ≥ 0 L ( x , α , β ) (2) \min_x \theta_P(x) = \min_x\max_{\alpha,\beta:a_i\geq 0} \mathcal{L}(x,\alpha,\beta) \tag{2} xminθP(x)=xminα,β:ai0maxL(x,α,β)(2) 显然它与原始优化问题(公式(1))是等价的 ,即它们拥有同样的解。这样我们就把原始的约束最优化问题表示为广义拉格朗日函数的极小极大化问题了,和 1.3 节的讨论一样,这个等价问题中引入了关于不等式约束的拉格朗日乘子的不等式约束 α i ≥ 0 \alpha_i\geq 0 αi0

    • 为了方便,定义原始问题的最优值 P ∗ = min ⁡ x θ P ( x ) P^* = \min_x \theta_P(x) P=minxθP(x),称为 原始问题的值

    2.2 对偶问题

    • 定义 θ D ( α , β ) = min ⁡ x L ( x , α , β ) \theta_D(\alpha,\beta) = \min_x\mathcal{L}(x,\alpha,\beta) θD(α,β)=minxL(x,α,β),再考虑其极大化问题(广义拉格朗日函数的极大极小问题
      max ⁡ α , β : α i ≥ 0 θ D ( α , β ) = max ⁡ α , β : α i ≥ 0 min ⁡ x L ( x , α , β ) \max_{\alpha,\beta:\alpha_i\geq 0} \theta_D(\alpha,\beta) =\max_{\alpha,\beta:\alpha_i\geq 0} \min_x\mathcal{L}(x,\alpha,\beta) α,β:αi0maxθD(α,β)=α,β:αi0maxxminL(x,α,β) 这个问题也可以表示为约束优化问题的形式
      max ⁡ α , β θ D ( α , β ) = max ⁡ α , β min ⁡ x L ( x , α , β ) s.t. α i ≥ 0 , i = 1 , 2 , . . . , k maxα,βθD(α,β)=maxα,βminxL(x,α,β)s.t.αi0,i=1,2,...,k
      α,βmaxs.t.θD(α,β)=α,βmaxxminL(x,α,β)αi0,i=1,2,...,k
      这称为 原始问题的对偶问题,定义其最优值为 D ∗ = max ⁡ α , β : α i ≥ 0 θ D ( α , β ) D^* = \max_{\alpha,\beta:\alpha_i\geq 0} \theta_D(\alpha,\beta) D=maxα,β:αi0θD(α,β),称为 对偶问题的值
    • 对偶问题有一个关键的性质:无论原问题是什么,构造的对偶问题一定是一个凸优化问题

      所谓凸优化问题,就是优化目标为凸函数,可行域为凸集的优化问题

      1. 优化目标 θ D ( α , β ) = f ( x ∗ ) + ∑ i = 1 k α i c i ( x ∗ ) + ∑ j = 1 l β j h j ( x ∗ ) \theta_D(\alpha,\beta) = f(x^*)+\sum_{i=1}^k \alpha_ic_i(x^*) + \sum_{j=1}^l \beta_j h_j(x^*) θD(α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x) 这是关于 α , β \alpha,\beta α,β 的线性函数,是凸函数
      2. 可行域 { α ∣ α i ≥ 0 ,    i = 1 , 2 , . . . , k } \{\pmb{\alpha}|\alpha_i \geq 0, \space\space i=1,2,...,k\} {αααi0,  i=1,2,...,k},这是一个半空间,是凸集
    • 注意到将原始问题转化为对偶问题得到了两个好处
      1. 减少了约束数量
      2. 对偶问题一定是凸优化问题

    2.3 对偶问题和原问题的关系

    • 虽然对偶问题性质很好,但它的解和原问题不一定相同,我们必须研究何时二者的解相同,这样才能用对偶问题代替原问题,转换才有意义
    • 先把两个问题整理为易于对比的形式,对于拉格朗日函数
      L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) \mathcal{L}(x,\alpha,\beta) = f(x)+\sum_{i=1}^k \alpha_ic_i(x) + \sum_{j=1}^l \beta_j h_j(x) L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x)
      1. 原问题
        min ⁡ x max ⁡ α , β L ( x , α , β ) s.t. a i ≥ 0 i = 1 , 2 , . . . , k minxmaxα,βL(x,α,β)s.t.ai0i=1,2,...,k
        xminα,βmaxL(x,α,β)s.t.ai0i=1,2,...,k
      2. 对偶问题
        max ⁡ α , β min ⁡ x L ( x , α , β ) s.t. a i ≥ 0 i = 1 , 2 , . . . , k maxα,βminxL(x,α,β)s.t.ai0i=1,2,...,k
        α,βmaxxminL(x,α,β)s.t.ai0i=1,2,...,k

    2.3.1 弱对偶关系:原问题的解一定大于等于对偶问题的解

    • 弱对偶关系:设原问题的解 min ⁡ x max ⁡ α , β L ( x , α , β ) = P ∗ \min_x\max_{\alpha,\beta} \mathcal{L}(x,\alpha,\beta)=P^* minxmaxα,βL(x,α,β)=P,对偶问题的解 max ⁡ α , β min ⁡ x L ( x , α , β ) = D ∗ \max_{\alpha,\beta}\min_x \mathcal{L}(x,\alpha,\beta)=D^* maxα,βminxL(x,α,β)=D 弱对偶关系 P ∗ ≥ D ∗ P^*\geq D^* PD 一定成立。证明如下
      θ P ( x ) = max ⁡ α , β L ( x , α , β ) ≥ L ( x , α , β ) ≥ min ⁡ x L ( x , α , β ) = θ D ( α , β ) θ P ( x ) ≥ min ⁡ x θ P ( x ) ≥ max ⁡ α , β θ D ( α , β ) ≥ θ D ( α , β ) ⟹ P ∗ = min ⁡ x θ P ( x ) ≥ max ⁡ α , β θ D ( α , β ) = D ∗ θP(x)=maxα,βL(x,α,β)L(x,α,β)minxL(x,α,β)=θD(α,β)θP(x)minxθP(x)maxα,βθD(α,β)θD(α,β)P=minxθP(x)maxα,βθD(α,β)=D
      θP(x)=α,βmaxL(x,α,β)L(x,α,β)xminL(x,α,β)=θD(α,β)θP(x)xminθP(x)α,βmaxθD(α,β)θD(α,β)P=xminθP(x)α,βmaxθD(α,β)=D

    2.3.2 强对偶关系:原问题的解等于对偶问题的解

    • 强对偶关系:当 P ∗ = D ∗ P^* = D^* P=D 时称原问题和对偶问题满足强对偶关系,这是我们最关心的情况,因为这时我们就能用对偶问题替代原始问题了。这里有一个推论: x ∗ x^* x α ∗ , β ∗ \alpha^*,\beta^* α,β 分别是原始问题和对偶问题的可行解,且 P ∗ = D ∗ P^*=D^* P=D x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x,α,β 分别是原始问题和对偶问题的最优解

    • 下面从几何角度观察一下这个等号何时成立,首先对拉格朗日函数做简化处理,等式约束成立时 ∑ j = 1 l β j h j ( x ) = 0 \sum_{j=1}^l \beta_j h_j(x)=0 j=1lβjhj(x)=0,有
      L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) = f ( x ) + α ⊤ c ( x ) L(x,α,β)=f(x)+ki=1αici(x)+lj=1βjhj(x)=f(x)+ααcc(x)

      L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x)=f(x)+ααcc(x) 可以把它看作是关于 f ( x ) f(x) f(x) c ( x ) \pmb{c}(x) cc(x) 的函数,为了在二维平面中表示,假设仅有一个不等式约束,设为 c ( x ) = u c(x)=u c(x)=u,同时设 f ( x ) = t f(x)=t f(x)=t。这时原问题和对偶问题的形式和可行域为

      1. 原问题: min ⁡ x { t ∣ ( t , u ) ∈ G 1 , u ≤ 0 } \min_x\{t|(t,u) \in G_1, u\leq 0\} minx{t(t,u)G1,u0},可行域 G 1 G_1 G1
        G 1 = { ( t , u ) ∣ t = f ( x ) , u = c ( x ) , x ∈ D } D = { x ∣ c ( x ) ≤ 0 } G1={(t,u)|t=f(x),u=c(x),xD}D={x|c(x)0}
        G1D={(t,u)t=f(x),u=c(x),xD}={xc(x)0}
      2. 对偶问题: max ⁡ λ min ⁡ x { t + λ ⋅ u ∣ ( t , u ) ∈ G 2 , λ ≥ 0 } \max_\lambda\min_x\{t+\lambda ·u|(t,u) \in G_2, \lambda\geq 0\} maxλminx{t+λu(t,u)G2,λ0},可行域 G 2 G_2 G2
        G 2 = { ( t , u ) ∣ t = f ( x ) , u = c ( x ) , x ∈ R n } G_2 = \{(t,u)|t=f(x),u=c(x),x\in \mathbb{R}^n\} G2={(t,u)t=f(x),u=c(x),xRn}

      注意到 G 1 G_1 G1 就是 G 2 G_2 G2 u u u 负半轴的部分,假设对偶问题的可行域 G 2 G_2 G2 是一个非凸集, G 2 , G 1 G_2,G_1 G2,G1可绘制如下
      在这里插入图片描述
      考察两个问题的解

      1. 原问题,直接在 G 1 G_1 G1 部分找最小值即可
        在这里插入图片描述

      2. 对偶问题,注意 t + λ ⋅ u t+\lambda ·u t+λu 是斜率为 − λ -\lambda λ 的直线与 t t t 轴的截距,先假设 λ ≥ 0 \lambda\geq 0 λ0 是定值,则我们要在 G 2 G_2 G2 中找一个点,使得过他的以 − λ -\lambda λ 为斜率的直线(斜率小于等于零,一定是水平或者向右下倾斜)的截距最小,如下图面左图所示;然后考虑外层的 max ⁡ λ \max_\lambda maxλ,其实就是找一个合适的斜率使得截距最大,如下面右图所示
        在这里插入图片描述
        可见,若对偶问题的可行域 G 2 G_2 G2 是非凸的,则当以 − λ -\lambda λ 为斜率的直线同时与 G 2 G_2 G2 下部两点相切时取到最优值 D ∗ D^* D,这时一定有 P ∗ > D P^* > D P>D

      另一方面,从几何角度也容易看出:如果 G 2 G_2 G2 是凸集,则通常有 P ∗ = Q ∗ P^*=Q^* P=Q 满足强对偶关系,下面给出两个满足等号的情况示意图
      在这里插入图片描述

    • 根据上述分析我们可以认为:绝大多数情况下,只要原问题是凸优化问题,则原问题和对偶问题一定满足强对偶关系,可以互相替代。注意这不是百分百成立的,下面给出严谨的充分条件和必要条件

    2.3.3 强对偶关系的充分条件:Slater 条件

    • 不想打字了直接放一个图,请注意符号
      在这里插入图片描述
    • Slater 条件说白了就是:对于一个原始凸优化问题,如果至少要有一个属于仿射集的点 x ∈ R n x\in\mathbb{R}^n xRn 在不等式约束面的内部,即不在边界上,则该问题有强对偶性(换句话说可行域不能只是不等式约束边界构成的一个壳)

    2.3.4 强对偶关系的必要条件:KKT 条件

    • 我们再把 1.3 节的 KKT 条件拿下来重新分析一下:给定若干等式约束 h i ( x ) = 0 h_i(x)=0 hi(x)=0 和不等式约束 g j ( x ) ≤ 0 g_j(x)\leq 0 gj(x)0,优化目标在 x ∗ , μ ∗ , λ ∗ x^*,\pmb{\mu}^*,\pmb{\lambda}^* x,μμ,λλ 处取得极小值的充要条件为
      1. ▽ x L ( x ∗ , λ ∗ , μ ∗ ) = 0 \triangledown_x\mathcal{L}(x^*,\pmb{\lambda}^*,\pmb{\mu}^*)=\pmb{0} xL(x,λλ,μμ)=00
      2. λ j ∗ > 0 ,    j = 1 , 2 , . . . . , l \lambda^*_j>0, \space\space j=1,2,....,l λj>0,  j=1,2,....,l
      3. λ j ∗ g j ( x ∗ ) = 0 ,    j = 1 , 2 , . . . . , l \lambda^*_jg_j(x^*)=0, \space\space j=1,2,....,l λjgj(x)=0,  j=1,2,....,l
      4. g j ( x ∗ ) ≤ 0 ,    j = 1 , 2 , . . . . , l g_j(x^*)\leq 0, \space\space j=1,2,....,l gj(x)0,  j=1,2,....,l
      5. h ( x ∗ ) = 0 h(x^*)=\pmb{0} h(x)=00
      6. ▽ x x 2 L ( x ∗ , λ ∗ ) \triangledown_{xx}^2\mathcal{L} (x^*,\pmb{\lambda}^*) xx2L(x,λλ) 是半正定的 Hessian 矩阵
    • 这次我们从原问题和对偶问题的角度考虑,可见
      1. 1/2 条满足了对偶问题的约束条件,因此他们被称为 对偶可行条件
      2. 4/5 条满足了原问题的约束条件,因此他们被称为 原问题可行条件
      3. 第 3 条称为 互补松弛条件,它其实对应了 2.3.2 节最后图示的满足强对偶关系的两种情况
        在这里插入图片描述
    • 总之,KKT 条件除了是特定凸优化问题取最优值的充要条件,也是约束优化问题有强对偶性质的必要条件

    3. 总结

    • 最后我们回顾总结本文说明的各种概念间的关系
      1. 对于只有等式约束的优化问题,可以直接用拉格朗日乘子法列出拉格朗日函数,将其转化为无约束优化问题求解
      2. 对于包含不等式约束的优化问题,仍然可以像只有等式约束时一样列出拉格朗日函数,但此时函数中会包含对拉格朗日乘子的新约束,优化它得到的最优值结果一定满足 KKT 条件(KKT 是取最优参数值的必要条件,对于某些特殊的凸优化问题是充要条件)
      3. 含有不等式约束的问题列出拉格朗日函数后仍有约束不好处理,这时我们可以将其转化为拉格朗日对偶问题,这个对偶问题一定是凸优化问题,因此易于求解。优化问题一定具有弱对偶性,但要想对偶问题和原问题同解其必须满足强对偶性,强对偶性的充分条件是Slater 条件,必要条件是 KKT 条件
  • 相关阅读:
    SpringIoc方案二不使用配置文件开发(课时十二)
    【Pandas总结】第五节 Pandas 数据查询方法总结_df.loc()总结
    从 0 到 1 ,手把手教你编写《消息队列》项目(Java实现) —— 介绍项目/ 需求分析
    《算法通关村——位运算常用技巧》
    川渝杯2022个人决赛部分wp
    iPad 使用技巧:虚拟键盘与实体键盘
    34【源码】数据可视化:基于 Echarts + Python 动态实时大屏 - 视频平台
    如何让6自由度双足机器人实现翻跟头的动作?
    Django拾遗与博客项目
    端到端自动驾驶:终局还是误区?
  • 原文地址:https://blog.csdn.net/wxc971231/article/details/125966644