凸函数优化之对偶理论

预备知识

什么是凸优化?

凸优化需要满足:

  • 1、在最小化(最大化)的要求下;
  • 2、目标函数是一个凸函数(凹函数);
  • 3、同时约束条件所形成的可行域集合是一个凸集。

凸集

若集合 C C C为凸集,则 C C C中任意两点间的线段仍然在 C C C中,也就是说,对于任意 x 1 , x 2 ∈ C x_1, x_2\in C x1,x2C,都有:
θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1+(1-\theta)x_2\in C θx1+(1θ)x2C
其中, 0 ≤ θ ≤ 1 0 \leq \theta \leq1 0θ1

凸优化问题

在这里插入图片描述

仿射函数

仿射函数,即最高次数为1的多项式函数。常数项为零的仿射函数称为线性函数。

对偶理论

一、原问题转化

对于一般优化问题,如:
m i n i m i z e     f o ( x ) s . t .    f i ( x ) ≤ 0    f o r    i = 1 , 2 , … … m          h i ( x ) = 0    f o r    i = 1 , 2 , … … p minimize\ \ \ f_{o(x)} \\ s.t. \ \ f_{i(x)}\leq0 \ \ for \ \ i=1,2,……m \\ \ \ \ \ \ \ \ \ h_{i(x)}=0 \ \ for \ \ i=1,2,……p minimize   fo(x)s.t.  fi(x)0  for  i=1,2,m        hi(x)=0  for  i=1,2,p
则可以将其转化为拉格朗日函数:
L ( x , λ , v ) = f o ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) L_{(x, \lambda,v)}=f_{o(x)}+\sum_{i=1}^{m}\lambda_if_{i(x)}+\sum_{i=1}^{p}v_ih_{i(x)} L(x,λ,v)=fo(x)+i=1mλifi(x)+i=1pvihi(x)
其中包含主变量 x x x和对偶变量 λ i ≥ 0 , v i \lambda_i\geq0,v_i λi0,vi
如果想固定 x x x,只通过改变 λ \lambda λ v v v来获得上面函数的最大值,即:
m a x λ , v L ( x , λ , v ) = f o ( x ) + m a x λ , v ( ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) ) \mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)}=f_{o(x)}+\mathop{max}\limits_{\lambda,v}(\sum_{i=1}^{m}\lambda_if_{i(x)}+\sum_{i=1}^{p}v_ih_{i(x)}) λ,vmaxL(x,λ,v)=fo(x)+λ,vmax(i=1mλifi(x)+i=1pvihi(x))
因为 f i ( x ) ≤ 0 f_{i(x)}\leq0 fi(x)0 λ i ≥ 0 \lambda_i\geq0 λi0,且 h i ( x ) = 0 h_{i(x)}=0 hi(x)=0,则:
m a x λ , v L ( x , λ , v ) = f o ( x ) \mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)}=f_{o(x)} λ,vmaxL(x,λ,v)=fo(x)
所以原本在约束条件下要求的 m i n x f o ( x ) \mathop{min}\limits_{x} f_{o(x)} xminfo(x)可以被转化为求:
p ∗ = m i n x ( m a x λ , v L ( x , λ , v ) ) p^{*}=\mathop{min}\limits_{x}(\mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)}) p=xmin(λ,vmaxL(x,λ,v))
而当强对偶条件成立时,这个问题又可以被转化为求:
d ∗ = m a x λ , v ( m i n x L ( x , λ , v ) ) d^{*}=\mathop{max}\limits_{\lambda,v}(\mathop{min}\limits_{x}L_{(x,\lambda,v)}) d=λ,vmax(xminL(x,λ,v))
m i n x L ( x , λ , v ) \mathop{min}\limits_{x}L_{(x,\lambda,v)} xminL(x,λ,v)称为拉格朗日对偶函数,即拉格朗日函数关于 x x x取得的最小值,设:
g ( λ , v ) = m i n x L ( x , λ , v ) = m i n x ( f o ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) ) g_{(\lambda,v)}=\mathop{min}\limits_{x}L_{(x,\lambda,v)}=\mathop{min}\limits_{x}(f_{o(x)}+\sum_{i=1}^{m}\lambda_if_{i(x)}+\sum_{i=1}^{p}v_ih_{i(x)}) g(λ,v)=xminL(x,λ,v)=xmin(fo(x)+i=1mλifi(x)+i=1pvihi(x))
那么, g ( λ , v ) g_{(\lambda,v)} g(λ,v) ( λ , v ) (\lambda,v) (λ,v)的仿射函数 L ( x , λ , v ) L_{(x,\lambda,v)} L(x,λ,v)的逐点下确界,这一定是个凹函数。凸优化学习(一)为什么lagrangr的下确界必然是一个凹函数
x ~ \tilde{x} x~是原问题的一个可行点,即 f i ( x ) ≤ 0 f_{i(x)}\leq0 fi(x)0 h i ( x ) = 0 h_{i(x)}=0 hi(x)=0,根据假设 λ ≥ 0 \lambda\geq0 λ0,有:
∑ i = 1 m λ i f i ( x ~ ) + ∑ i = 1 p v i h i ( x ~ ) ≤ 0 \sum_{i=1}^{m}\lambda_if_{i(\tilde{x})}+\sum_{i=1}^{p}v_ih_{i(\tilde{x})}\leq0 i=1mλifi(x~)+i=1pvihi(x~)0
所以:
L ( x ~ , λ , v ) = f o ( x ~ ) + ∑ i = 1 m λ i f i ( x ~ ) + ∑ i = 1 p v i h i ( x ~ ) ≤ f o ( x ~ ) L_{(\tilde{x}, \lambda,v)}=f_{o(\tilde{x})}+\sum_{i=1}^{m}\lambda_if_{i(\tilde{x})}+\sum_{i=1}^{p}v_ih_{i(\tilde{x})}\leq f_{o(\tilde{x})} L(x~,λ,v)=fo(x~)+i=1mλifi(x~)+i=1pvihi(x~)fo(x~)
因此
g ( λ , v ) = i n f x L ( x , λ , v ) ≤ L ( x ~ , λ , v ) ≤ f o ( x ~ ) g_{(\lambda,v)}=\mathop{inf}\limits_{x}L_{(x,\lambda,v)}\leq L_{(\tilde{x},\lambda,v)}\leq f_{o(\tilde{x})} g(λ,v)=xinfL(x,λ,v)L(x~,λ,v)fo(x~)
其中, i n f x L ( x , λ , v ) \mathop{inf}\limits_{x}L_{(x,\lambda,v)} xinfL(x,λ,v)是指 L ( x , λ , v ) L_{(x,\lambda,v)} L(x,λ,v)的逐点下确界。
也就是说, d ∗ ≤ p ∗ d^{*}\leq p^{*} dp是一定的。
至此,我们已经证明了原问题 m i n x f o ( x ) \mathop{min}\limits_{x} f_{o(x)} xminfo(x)可以被转化为求 m i n x ( m a x λ , v L ( x , λ , v ) ) \mathop{min}\limits_{x}(\mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)}) xmin(λ,vmaxL(x,λ,v)),且由对偶条件进而被转化为求 m a x λ , v ( m i n x L ( x , λ , v ) ) = m a x λ , v g ( λ , v ) \mathop{max}\limits_{\lambda,v}(\mathop{min}\limits_{x}L_{(x,\lambda,v)})=\mathop{max}\limits_{\lambda,v}g_{(\lambda,v)} λ,vmax(xminL(x,λ,v))=λ,vmaxg(λ,v),并且 m a x λ , v g ( λ , v ) \mathop{max}\limits_{\lambda,v}g_{(\lambda,v)} λ,vmaxg(λ,v)是一定小于 m i n x f o ( x ) \mathop{min}\limits_{x} f_{o(x)} xminfo(x)的。

ps:对偶条件

弱对偶: d ∗ ≤ p ∗ d^{*}\leq p^{*} dp,无论原问题是不是凸优化问题,这个式子总是成立的。
强对偶: d ∗ = p ∗ d^{*}=p^{*} d=p

  • 该条件通常不成立。
  • 对于凸优化问题通常成立。
  • 对于满足 S l a t e r Slater Slater条件的凸优化问题一定成立。
    【注】 S l a t e r Slater Slater条件是指,对于在预备知识模块给出的凸优化问题的定义中的 f i ( x ) f_{i(x)} fi(x),总存在一点 x x x,使得 f i ( x ) < 0 f_{i(x)}<0 fi(x)<0 i = 1 , 2 , … … m i=1,2,……m i=1,2,m上均成立。

二、互补松弛性

设原问题和对偶问题的最优解都可以达到且相等(强对偶性成立),令 x ∗ x^{*} x为原问题的最优解, ( λ ∗ , v ∗ ) (\lambda^{*},v^{*}) (λ,v)为对偶问题的最优解,则:
f o ( x ∗ ) = g ( λ ∗ , v ∗ )   = i n f x ( f o ( x ) + ∑ i = 1 m λ i ∗ f i ( x ) + ∑ i = 1 p v i ∗ h i ( x ) )     ≤ f o ( x ∗ ) + ∑ i = 1 m λ i ∗ f i ( x ∗ ) + ∑ i = 1 p v i ∗ h i ( x ∗ )      ≤ f o ( x ∗ ) f_{o(x^{*})}=g_{(\lambda^{*},v^{*})}\\ \quad \quad \quad \quad \ \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad=\mathop{inf}\limits_{x}(f_{o(x)}+\sum_{i=1}^{m}\lambda_i^{*}f_{i(x)}+\sum_{i=1}^{p}v_i^{*}h_{i(x)})\\ \quad \quad \quad \quad \ \ \ \quad \quad \quad \quad \quad \quad \quad \quad \leq f_{o(x^{*})}+\sum_{i=1}^{m}\lambda_i^{*}f_{i(x^{*})}+\sum_{i=1}^{p}v_i^{*}h_{i(x^{*})}\\ \ \ \ \ \leq f_{o(x^{*})} fo(x)=g(λ,v) =xinf(fo(x)+i=1mλifi(x)+i=1pvihi(x))   fo(x)+i=1mλifi(x)+i=1pvihi(x)    fo(x)
取等号时,有:
λ i ∗ f i ( x ∗ ) = 0 i = 1 , 2 , … … m \lambda_i^{*}f_{i(x^{*})}=0 \quad i=1,2,……m λifi(x)=0i=1,2,m
此条件称为互补松弛性,也就是KKT条件。

三、凸问题的KKT条件

当原问题是凸问题时,满足KKT条件的点也是原问题和对偶问题的最优解。也就是说,如果函数 f i ( x ) f_{i(x)} fi(x)为凸函数, h i ( x ) h_{i(x)} hi(x)为仿射函数, x ~ , λ ~ , v ~ \tilde{x},\tilde{\lambda},\tilde{v} x~,λ~,v~是任意满足KKT条件的点。即满足:

  • 问题约束:
    f i ( x ~ ) ≤ 0 i = 1 , 2 , … … m f_{i(\tilde{x})}\leq0 \quad i=1,2,……m fi(x~)0i=1,2,m
    h i ( x ~ ) = 0 i = 1 , 2 , … … m h_{i(\tilde{x})}=0 \quad i=1,2,……m hi(x~)=0i=1,2,m
    λ i ~ ≥ 0 i = 1 , 2 , … … m \tilde{\lambda_i}\geq0 \quad i=1,2,……m λi~0i=1,2,m
  • 互补松弛性:
    λ i ~ f i ( x ~ ) = 0 i = 1 , 2 , … … m \tilde{\lambda_i}f_{i(\tilde{x})}=0 \quad i=1,2,……m λi~fi(x~)=0i=1,2,m
  • 极值条件:
    ▽ x L ( x ~ , λ ~ , v ~ ) = ▽ x f o ( x ~ ) + ∑ i = 1 m λ ~ i ▽ x f i ( x ~ ) + ∑ i = 1 p v ~ i ▽ x h i ( x ~ ) = 0 \bigtriangledown_xL_{(\tilde{x},\tilde{\lambda},\tilde{v})}=\bigtriangledown_xf_{o(\tilde{x})}+\sum_{i=1}^{m}\tilde{\lambda}_i\bigtriangledown_xf_{i(\tilde{x})}+\sum_{i=1}^{p}\tilde{v}_i\bigtriangledown_xh_{i(\tilde{x})}=0 xL(x~,λ~,v~)=xfo(x~)+i=1mλ~ixfi(x~)+i=1pv~ixhi(x~)=0
    那么, x ~ \tilde{x} x~ ( λ ~ , v ~ ) (\tilde{\lambda},\tilde{v}) (λ~,v~)就分别是原问题和对偶问题的最优解,且结果相同。
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cofisher

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值