拉格朗日对偶


在解约束最优化问题中,利用拉格朗日对偶性将原始问题转化为对偶问题,从而得到原始问题的解。会应用在最大熵模型与支持向量机等模型中。

1.原始问题
原始问题的数学表示

f ( x ) , c i ( x ) , h j ( x ) f(x),c_i(x),h_j(x) 是定义在 R n R^n 上的连续可微函数。

min x R n f ( x ) s . t . c i ( x ) 0 , i = 1 , 2 ,   , k h j ( x ) = 0 , j = 1 , 2 ,   , l \begin{aligned} \min_{x \in R^n} \quad &f(x) \\ s.t. \quad &c_i(x)\leqslant0,i=1,2,\cdots,k \\ & h_j(x)=0,j=1,2,\cdots,l \end{aligned}

  • f ( x ) f(x) 是目标函数
  • c i ( x ) c_i(x) 是不等式约束
  • h j ( x ) h_j(x) 是等式约束
  • 可行域:自变量x,满足约束范围的取值区域,(即满足: c i ( x ) 0 , h j ( x ) = 0 c_i(x)\leqslant0,h_j(x)=0 的x取值)
  • 求解目标:需要在可行域内求得使目标函数 f ( x ) f(x) 最小的最优解 x x^*
拉格朗日函数

L ( x , α , β ) = f ( x ) + i = 1 k α i c i ( x ) + j = 1 l β j h j ( x ) , α i 0 L(x,\alpha,\beta)=f(x) + \sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x),\quad \alpha_i \geqslant 0

其中 α i , β j \alpha_i,\beta_j 是拉格朗日乘子

拉格朗日函数的极小极大问题(先求得 α i , β j \alpha_i,\beta_j 的最优解,再求得 x x 的最优解)

min x θ P ( x ) = min x max α , β ; α i 0 L ( x , α , β ) \min_x\theta_P(x) = \min_x\max_{\alpha,\beta;\alpha_i \geqslant 0} L(x,\alpha,\beta)

推导过程:

  • 1)找到使拉格朗日函数 L ( x , α , β ) L(x,\alpha,\beta) 最大化的 α i , β j \alpha_i,\beta_j 最优解,求得关于x的函数
    θ P ( x ) = max α , β ; α i 0 L ( x , α , β ) = max α , β ; α i 0 [ f ( x ) + i = 1 k α i c i ( x ) + j = 1 l β j h j ( x ) ] \begin{aligned} \theta_P(x) & = \max_{\alpha,\beta;\alpha_i \geqslant 0} L(x,\alpha,\beta)\\ &= \max_{\alpha,\beta;\alpha_i \geqslant 0}[f(x) + \sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x)] \end{aligned}

由于原始问题需要在可行域内求解,此时 c i ( x ) 0 , h j ( x ) = 0 c_i(x)\leqslant0,h_j(x)=0 ,且 α i 0 \alpha_i \geqslant0 ;当 α i c i ( x ) = 0 \alpha_ic_i(x)=0 时, L ( x , α , β ) L(x,\alpha,\beta) 取值最大,并且
θ P ( x ) = max α , β ; α i 0 L ( x , α , β ) = f ( x ) , x 可行域 \theta_P(x)=\max_{\alpha,\beta;\alpha_i \geqslant 0} L(x,\alpha,\beta)=f(x) ,\quad x \in \text{可行域}

  • 2)那么原始问题转化:

min x R n f ( x ) s . t . c i ( x ) 0 , i = 1 , 2 ,   , k h j ( x ) = 0 , j = 1 , 2 ,   , l \begin{aligned} \min_{x \in R^n} \quad &f(x) \\ s.t. \quad &c_i(x)\leqslant0,i=1,2,\cdots,k \\ & h_j(x)=0,j=1,2,\cdots,l \end{aligned}

等价于:
min x θ P ( x ) = min x max α , β ; α i 0 L ( x , α , β ) \min_x\theta_P(x) = \min_x\max_{\alpha,\beta;\alpha_i \geqslant 0} L(x,\alpha,\beta)

设原始问题的最优值为
p = min x θ P ( x ) p^* = \min_x\theta_P(x)

2.对偶问题
对偶问题的定义
  • 先在x的所有取值范围内,求使拉格朗日函数 L ( x , α , β ) L(x,\alpha,\beta) 最小化的x最优解,获得关于 α , β \alpha,\beta 的函数
    θ D ( α , β ) = min x L ( x , α , β ) \theta_D(\alpha,\beta) = \min_xL(x,\alpha,\beta)

  • α i 0 \alpha_i \geqslant 0 的范围内,极大化 θ D ( α , β ) \theta_D(\alpha,\beta) ,求得 α , β \alpha,\beta 的最优解
    max α , β ; α i 0 θ D ( α , β ) = max α , β min x L ( x , α , β ) \max_{\alpha,\beta;\alpha_i \geqslant 0}\theta_D(\alpha,\beta) = \max_{\alpha,\beta} \min_xL(x,\alpha,\beta)
    s . t . α i 0 , i = 1 , 2 ,   , k s.t. \quad \alpha_i \geqslant 0,i=1,2,\cdots,k

  • 设对偶问题的最优值为
    d = max α , β ; α i 0 θ D ( α , β ) d^* = \max_{\alpha,\beta;\alpha_i \geqslant 0}\theta_D(\alpha,\beta)

3.原始问题和对偶问题的关系
对偶问题最优解 d d^* 是原始问题最优解 p p^* 的下界

证:
d = max α , β min x的所有取值范围 L ( x , α , β ) max α , β min x 可行域 L ( x , α , β ) max α , β min x 可行域 f ( x ) = p d^* = \max_{\alpha,\beta} \min_{\text{x的所有取值范围}}L(x,\alpha,\beta) \leqslant \max_{\alpha,\beta} \min_{x \in \text{可行域}}L(x,\alpha,\beta) \leqslant \cancel{\max_{\alpha,\beta}} \min_{x \in \text{可行域}}f(x)=p^*

当满足以下条件时, d = p = L ( x , α , β ) d^*=p^*=L(x^*,\alpha^*,\beta^*) ,有强对偶性
  • 条件:
    • 当原问题为凸优化问题时,即:可行域为凸集,目标函数为凸函数,并求目标函数的最小值。(当不等式约束 c i ( x ) c_i(x) 为凸函数;等式约束 h j ( x ) h_j(x) 为关于x的线性函数时,可行域为凸集。)
    • slater条件:所有不等式约束构成的x的取值集合的交集有内点。 例如下图,第一个图中两个圆形集合的交集有内点,满足条件;第二个图中两个圆形集合的交集只有一个切点,不满足条件;第三个图中两个半圆集合交集为一条线,不满足条件。
      在这里插入图片描述

当上述条件满足时存在 x , α , β x^*,\alpha^*,\beta^* x x^* 是原始问题的最优解, α , β \alpha^*,\beta^* 是对偶问题的最优解,且 d = p = L ( x , α , β ) d^*=p^*=L(x^*,\alpha^*,\beta^*)

  • 概念
    • 凸集:在空间的取值集合内任意取两点,这两点连成线段,线段上的任意一点仍然属于这个集合。例如下图的圆形集合是凸集,但不规则图形不是凸集
      在这里插入图片描述
    • 凸函数:在函数上任取两点,两点连线,两点之间的任意x点在线上的取值大于函数值
      在这里插入图片描述
当满足条件有强对偶性时, x , α , β x^*,\alpha^*,\beta^* 最优解满足KKT条件

x L ( x , α , β ) = 0 α L ( x , α , β ) = 0 β L ( x , α , β ) = 0 α i c i ( x ) = 0 , i = 1 , 2 ,   , k c i ( x ) 0 , i = 1 , 2 ,   , k α i 0 , i = 1 , 2 ,   , k h j ( x ) = 0 , j = 1 , 2 ,   , j \begin{aligned} \nabla_xL(x^*,\alpha^*,\beta^*)=0 \\ \nabla_\alpha L(x^*,\alpha^*,\beta^*)=0 \\ \nabla_\beta L(x^*,\alpha^*,\beta^*)=0 \\ \alpha_i^*c_i(x^*)=0,& \quad i=1,2,\cdots,k\\ c_i(x^*)\leqslant 0 ,& \quad i=1,2,\cdots,k\\ \alpha_i^* \geqslant 0,& \quad i=1,2,\cdots,k \\ h_j(x^*) =0 ,& \quad j=1,2,\cdots,j \end{aligned}
其中 α i c i ( x ) = 0 \alpha_i^*c_i(x^*)=0 是互补松弛条件,即当 α i > 0 \alpha_i^*>0 时, c i ( x ) = 0 c_i(x^*)=0

猜你喜欢

转载自blog.csdn.net/liuerin/article/details/89418043