拉格朗日对偶


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

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 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 \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} xRnmins.t.f(x)ci(x)0,i=1,2,,khj(x)=0,j=1,2,,l

  • f ( x ) f(x) f(x)是目标函数
  • c i ( x ) c_i(x) ci(x)是不等式约束
  • h j ( x ) h_j(x) hj(x)是等式约束
  • 可行域:自变量x,满足约束范围的取值区域,(即满足: c i ( x ) ⩽ 0 , h j ( x ) = 0 c_i(x)\leqslant0,h_j(x)=0 ci(x)0,hj(x)=0的x取值)
  • 求解目标:需要在可行域内求得使目标函数 f ( x ) f(x) f(x)最小的最优解 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 L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x),αi0

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

拉格朗日函数的极小极大问题(先求得 α i , β j \alpha_i,\beta_j αi,βj的最优解,再求得 x 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) xminθP(x)=xminα,β;αi0maxL(x,α,β)

推导过程:

  • 1)找到使拉格朗日函数 L ( x , α , β ) L(x,\alpha,\beta) L(x,α,β)最大化的 α i , β j \alpha_i,\beta_j αi,β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} θP(x)=α,β;αi0maxL(x,α,β)=α,β;αi0max[f(x)+i=1kαici(x)+j=1lβjhj(x)]

由于原始问题需要在可行域内求解,此时 c i ( x ) ⩽ 0 , h j ( x ) = 0 c_i(x)\leqslant0,h_j(x)=0 ci(x)0,hj(x)=0,且 α i ⩾ 0 \alpha_i \geqslant0 αi0;当 α i c i ( x ) = 0 \alpha_ic_i(x)=0 αici(x)=0时, L ( x , α , β ) L(x,\alpha,\beta) L(x,α,β)取值最大,并且
θ 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{可行域} θP(x)=α,β;αi0maxL(x,α,β)=f(x),x可行域

  • 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} xRnmins.t.f(x)ci(x)0,i=1,2,,khj(x)=0,j=1,2,,l

等价于:
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) xminθP(x)=xminα,β;αi0maxL(x,α,β)

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

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

  • α i ⩾ 0 \alpha_i \geqslant 0 αi0的范围内,极大化 θ D ( α , β ) \theta_D(\alpha,\beta) θD(α,β),求得 α , β \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) α,β;αi0maxθD(α,β)=α,βmaxxminL(x,α,β)
    s . t . α i ⩾ 0 , i = 1 , 2 , ⋯   , k s.t. \quad \alpha_i \geqslant 0,i=1,2,\cdots,k s.t.αi0,i=1,2,,k

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

3.原始问题和对偶问题的关系
对偶问题最优解 d ∗ d^* d是原始问题最优解 p ∗ 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=α,βmaxx的所有取值范围minL(x,α,β)α,βmaxx可行域minL(x,α,β)α,βmax x可行域minf(x)=p

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

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

  • 概念

    • 凸集:在空间的取值集合内任意取两点,这两点连成线段,线段上的任意一点仍然属于这个集合。例如下图的圆形集合是凸集,但不规则图形不是凸集
    • 凸函数:在函数上任取两点,两点连线,两点之间的任意x点在线上的取值大于函数值
当满足条件有强对偶性时, x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x,α,β最优解满足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} xL(x,α,β)=0αL(x,α,β)=0βL(x,α,β)=0αici(x)=0,ci(x)0,αi0,hj(x)=0,i=1,2,,ki=1,2,,ki=1,2,,kj=1,2,,j
其中 α i ∗ c i ( x ∗ ) = 0 \alpha_i^*c_i(x^*)=0 αici(x)=0是互补松弛条件,即当 α i ∗ > 0 \alpha_i^*>0 αi>0时, c i ( x ∗ ) = 0 c_i(x^*)=0 ci(x)=0

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值