凸优化
2021-09-21

 

 

背景知识

函数符号解释

  1. minxDf(x):在集合D中改变x,求f(x)的最小值

  2. minxDf(x,λ):函数f是关于x,λ两个变量的函数,该式的含义是固定λ不变,改变x从而使得函数f最小

  3. g(λ)=minxDf(x,λ),该式的含义是:

    • g(λ)是关于λ的函数
    • λ=y时,g(λ)的取值为:固定f(x,λ)中的λ=y,改变x使函数f取到最小值。例如:
    (1)f(x,λ)=x2+λ2g(λ)=minxDf(x,λ)g(4)=minxDf(x,4)=minxD(x2+16)=0+16=16

     

  4. v=maxλminxf(x,λ),从右向左看,将minxf(x,λ)理解成关于λ的函数g(λ),然后再对g(λ)求最大值,即:

    (2)g(λ)=minxf(x,λ)v=maxλg(λ)

infsup

  1. inf:下确界(infimum)

  2. sup:上确界(supremum)

    和min、max有相似之处,细节略有不同。示例:

    对函数f(x)=sin(x)x,在x=0处,maxf(x)不存在,但supf(x)存在且为1。

拉格朗日乘子法

 

凸函数

下图为凸函数图像示例:

凸函数

  1. 若函数f:RnR是凸的,则:

    (3)x,ydomf,θ[0,1]f(θx+(1θ)y)θf(x)+(1θ)f(y)
  2. 若函数f:RnR是凹的,则:

(4)x,ydomf,θ[0,1]f(θx+(1θ)y)θf(x)+(1θ)f(y)

 

 

仿射函数

假设有xRnbRm,那么:

(5)xAx+b

被称为RnRm的仿射变换,该过程称为仿射函数:

(6)f(x)=Ax+b,xRn

例如,以下为简单的仿射函数:

a1x1+a2x2+,anxn+b

 

仿射函数的重要性质:既凹且凸,即在凹凸函数不等式中,仿射函数可以取等号。

(7)f(θx+(1θ)y)=θf(x)+(1θ)f(y)

其它符号

  1. domf:函数f的定义域
  2. Si:集合S的交集

 

无约束

求导,令导数为0即可。

 

等式约束

问题如下:

(8)minf(x)s.t.h(x)=0

等式约束

交点:移动x时会导致f(x)增大或减小,因此不是可行解。

切点:可能是极值点(在其邻域内,此值最大),此时满足f(x)=λh(x)

 

构造朗格朗日函数:

(9)L(x,λ)=f(x)+λh(x)

L(x,λ)xλ求偏导可得:

(10){xL(x,λ)=f(x)+λh(x)=0λL(x,λ)=h(x)=0

求解以上方程即可。

不等式约束(KKT条件)

问题如下:

(11)minf(x)s.t.g(x)<=0

不等式约束

 

假设函数g(x)的右侧小于0,即阴影部分为约束的可行域。函数f(x)向内侧为等高线数值降低方向。两种情况如下:

两种情况

 

(13){f(x)+λg(x)=0g(x)=0λ0

 

将以上两种情况进行合并,得:

(14){f(x)+λg(x)=0g(x)0λ0λg(x)=0

这个方程组就是该问题的 KKT 条件,只有满足这些条件才会存在极小值。

 

情况二中,为什么λ大于等于0?

因为梯度方向指向函数增大方向,因此g(x)的梯度指向左侧,而f(x)的梯度指向右侧,因此两个函数的梯度方向相反。

 

对偶问题

原始问题

假设f(x),gi(x),hj(x)是定义在Rn上的连续可微函数。

定义如下的约束最优化问题为原始优化问题原问题

(15)minxRnf(x)s.t.gi(x)0,i=1,2,..,khj(x)=0,j=1,2,..,l

此处,不假定函数f(x)的凹凸性,即f(x)可以是非凹非凸函数。

原问题直接优化比价困难:

1. 约束条件太多,总共k+l个约束

2. 原问题凹凸性不明确

而对于原问题的拉格朗日对偶问题,其优点为:

1. 只有1个约束。

2. 拉格朗日对偶为一定是凹的

 

引入拉格朗日函数:

(16)L(x,α,β)=f(x)+i=1kαigi(x)+j=1lβihi(x)x=(x(1),x(2),...,x(n))TRn,αiβjαi0

构建关于x的函数:

(17)θP(x)=maxα,β;αi0L(x,α,β)

假设给定某个违反原始问题约束条件的x,即存在某个i使得gi(x)>0hj(x)0。若gi(x)>0,可令αi+,使得θP(x)=+;若hj(x)0,可令βj+βj,使得θP(x)=。将其余αi,βj均置为0。那么:

(18)θP(x)=maxα,β;αi0[f(x)+i=1kαigi(x)+j=1lβihi(x)]=

假设给定某个符合原始问题约束条件的x,即gi(x)0hj(x)=0,那么:

(19)θP(x)=maxα,β;αi0[f(x)+i=1kαigi(x)+j=1lβihi(x)]=f(x)

由以上分析,得:

(20)θP(x)={f(x)xx

则极小化如下原始问题等价于原始最优化问题,即有相同的解:

(21)minxθp(x)=minxmaxα,β;αi0L(x,α,β)

 

minxmaxα,β;αi0L(x,α,β) 称为广义拉格朗日函数的极小极大问题

定义原始问题的最优值:

(22)p=minxθP(x)

称为原始问题的最优解。

 

 

对偶问题

构建关于α,β的拉格朗日对偶函数:

(23)θD(α,β)=minxL(x,α,β)α0

对偶函数重要性质:

  1. 对偶函数θD(α,β)一定是凹函数。
  2. α0的条件下,θD(α,β)的值不会超过原问题的解p,即α0θD(α,β)p。启示:当p不容易求解的时候,可以求解maxθD(α,β)进行逼近。

对偶的最大值

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

(24)maxα,β;αi0θD(α,β)=maxα,β;αi0minxL(x,α,β)

将广义拉格朗日函数的极大极小问题表示为约束最优化问题,称为原始问题的对偶问题

(25)maxα,β;αi0θD(α,β)=maxα,β;αi0minxL(x,α,β)s.t.αi0,i=1,2,..,k

定义对偶问题的最优值,称为对偶问题的解

(26)d=maxα,β;αi0θD(α,β)

1.1d=maxα,β:αi0minxL(x,α,β)minxmaxα,β:αi0L(x,α,β)=p

αβx

θD(α,β)=minxL(x,α,β)L(x,α,β)maxα,β:αi0L(x,α,β)=θP(x)

θD(α,β)θP(x)

maxα,β:αi0θD(α,β)minxθP(x)

d=maxα,β:αi0minxL(x,α,β)minxmaxα,β:αi0L(x,α,β)=p

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

如果满足KKT条件或slater条件,则p=d。并且,能够通过对偶问题的解,得到原问题的解!

强对偶

(27)minxRnf(x)s.t.gi(x)0,i=1,2,..,khj(x)=0,j=1,2,..,l

(28)maxα,β;αi0θD(α,β)=maxα,β;αi0minxL(x,α,β)s.t.αi0,i=1,2,..,k

1.2f(x)gi(x)hj(x)仿gi(x)xαβxαβKKT

(29)gi(x)0,i=1,2,,khj(x)=0j=1,2,,lαi0,i=1,2,,kxL(x,α,β)=0αigi(x)=0,i=1,2,,k

KKTxαβ

定理部分解释:

  1. gi(x)是严格执行的:严格满足gi(x)<0,i=1,2,,k

  2. 条件1 & 条件2:原始问题约束条件

  3. 条件3:对偶问题的必要条件,参考23对偶函数定义

  4. 条件4:如果满足该条件,那么x必然是函数L(x,α,β)的最优解,即原问题的解。那么,如何证明αβ是对偶问题的解???

  5. 条件5:又称互补松弛条件。如果xαβ是原始问题和对偶问题的解,则αigi(x)=0,i=1,2,,k证明如下:

    假设f(x)=p,θD(α,β)=d,那么可知,f(x)是函数f(x)的最小值,θD(α,β)是函数θD(α,β)的最大值

    假设当前的凸优化问题满足强对偶条件,那么:p=d,所以,f(x)=θD(α,β)

    根据定义:

    (30)f(x)=θD(α,β)=minxL(x,α,β)=minx{f(x)+i=1kαigi(x)+j=1lβihi(x)}f(x)+i=1kαigi(x)+j=1lβihi(x)

    ()α0,gi(x)0αgi(x)0

    hi(x)=0f(x)f(x)+i=1kαigi(x)+j=1lβihi(x)

    f(x)=f(x)+i=1kαigi(x)+j=1lβihi(x)

    αigi(x)=0,i=1,2,,k

对偶问题求解总结

使用对偶方法求解最优化问题步骤:

  1. 确定原始问题

    (31)minxRnf(x)s.t.gi(x)0,i=1,2,..,khj(x)=0,j=1,2,..,l
  2. 构造拉格朗日函数

    (32)L(x,α,β)=f(x)+i=1kαigi(x)+j=1lβihi(x)x=(x(1),x(2),...,x(n))TRn,αiβjαi0
  3. 构造拉格朗日对偶函数

    (33)θD(α,β)=minxL(x,α,β)α0
  4. 求解拉格朗日对偶函数

    (34)xL(x,α,β)=0
  5. 对偶函数极大化

    (35)maxα,β;αi0θD(α,β)s.t.αi0,i=1,2,..,k

 

1 p=minxx22s.t.Ax=b

1. 构造拉格朗日函数:L(x,v)=xTx+vT(Axb)

2. 构造对偶函数:g(v)=minxL(x,v)

3. 求解对偶函数:xL(x,v)=0

解得:2x+ATv=0x(v)=12ATv

所以,g(v)=L(x(v),v)=14vT(AAT)vvTb

4. 对偶函数极大化:d=maxv14vT(AAT)vvTb

可求得:v=2(AAT)1bd=bT(AAT)1b

5. 求x

由于 p=d,通过对偶函数的解可以求得原函数的解,因此:

x=x(v)=AT(AAT)1b

参考资料

  1. 人工智能数学基础——第五章 最优化 -3约束最优化 - 知乎 (zhihu.com)
  2. 拉格朗日乘子法,KKT条件,对偶问题 - 知乎 (zhihu.com)
  3. 拉格朗日对偶性 - 知乎 (zhihu.com)
  4. (56条消息) 【数学】拉格朗日对偶,从0到完全理解frostime的博客-CSDN博客拉格朗日对偶
  5. Karush-Kuhn-Tucker (KKT)条件 - 知乎 (zhihu.com)