凸优化(一):凸函数、对偶问题和KKT条件

凸函数

凸函数(convex function)定义为:f(x)f(x)的定义域为凸集,且f(θx+(1θ)y)θf(x)+(1θ)f(y)f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta) f(y)x,ydomf\forall x,y \in \operatorname{dom} fθ[0,1]\theta\in[0,1]

上述不等式即为Jensen's 不等式f(Ez)Ef(z)f(\mathbb E z)\leq \mathbb E f(z)

也就是说凸函数判断条件有二:1、convex domain;2、Jensen’s inequality。

等价条件

如果domf\operatorname{dom} f是凸的,判断凸函数的等价条件有:

  • 各向皆凸:设f:RnRf:\mathbb R^n\to \mathbb R ,有映射g(t)=f(x+tv)g(t)=f(x+tv)domg=tx+tvdomf\operatorname{dom}g=t|x+tv\in\operatorname{dom}f,则ff为凸函数当且仅当g(t)g(t)对任意xdomfx\in\operatorname{dom} fvRnv\in\mathbb R^n都是凸函数。
  • 一阶条件:对于可导函数,ff为凸函数当且仅当f(y)f(x)+fT(x)(yx)f(y)\geq f(x)+\nabla f^T(x)(y-x)x,ydomf\forall x,y\in \operatorname{dom}f
  • 二阶条件:对于二阶可导函数,ff为凸函数当且仅当Hessian2f(x)0\nabla^2f(x)\succeq 0xdomf\forall x\in \operatorname{dom} f
  • epigraphff为凸函数当且仅当epigraph为凸集。epigraph的定义为:epif={(x,t)Rn+1xdomf,f(x)t}\operatorname{epi} f=\{(x,t)\in\mathbb R^{n+1}|x\in\operatorname{dom} f,\, f(x)\leq t \}

一阶条件的几何意义是凸函数上任意点的切线都是凸函数的 under-estimator。因为这个切线仿佛承接住了整个函数ff, 所以又叫 supporting hyperplane。

二阶条件表明凸函数任意一点“曲度”都是凸的。也可以说梯度是单调的。

  • 单调梯度条件:对于可导函数,ff为凸函数当且仅当(f(x)f(y))T(xy)0\left(\nabla f(x)-\nabla f(y)\right)^T(x-y)\geq 0xdomf\forall x\in \operatorname{dom} f

证明:(必要)由一阶条件得,

f(y)f(x)+fT(x)(yx)f(x)f(y)+fT(y)(xy)\begin{aligned} f(y)&\geq f(x)+\nabla f^T(x)(y-x)\\ f(x)&\geq f(y)+\nabla f^T(y)(x-y) \end{aligned}

两式相加得证。

(充分)定义g(t)=f(x+t(yx))g(t)=f(x+t(y-x)),那么g(t)=f(x+t(yx))T(yx)g'(t)=\nabla f(x+t(y-x))^T (y-x)。对于t0t \geq 0, 由于(f(x)f(y))T(xy)0\big (\nabla f(x) - \nabla f(y)\big )^T (x-y) \geq 0,所以g(t)g(0)0g'(t)-g'(0)\geq 0。则g(1)g(0)=01g(t)dt01g(0)dt=g(0)g(1)-g(0) = \int_0^1 g'(t) dt \geq \int_0^1 g'(0) dt = g'(0)
f(y)f(x)+f(x)T(yx)f(y) \geq f(x) + \nabla f(x)^T (y-x)

常见凸函数

常见凸函数:

  • ezxe^{zx}R\mathbb R上为凸函数,对任意aRa\in\mathbb R成立。
  • xax^aR++\mathbb R_{++}上为凸函数,如果a1a\geq 1a0a\leq 0;为凹函数,如果0a10\leq a\leq 1
  • xp|x|^pR\mathbb R上为凸函数,如果p1p\geq 1
  • logx\log xR++\mathbb R_{++}上为凹函数。
  • xlogxx\log xR++\mathbb R_{++}(或R+\mathbb R_{+})上为凹函数。

判断复合函数(composition)f(x)=h(g(x))=h(g1(x),,gk(x))f(x)=h(g(x))=h(g_1(x),\cdots,g_k(x))为凸的方法:

  • ff为凸,如果hh为凸且对每一个自变数(argument)非减(nondecreasing),同时gig_i为凸。
  • ff为凸,如果hh为凸且对每一个自变数(argument)非增(nonincreasing),同时gig_i为凹。
  • ff为凹,如果hh为凹且对每一个自变数(argument)非减(nondecreasing),同时gig_i为凹。

Lipschitz smooth, strongly convex

Lipschitz smooth和strongly convex是证明算法收敛性而假设的常用条件。简单的说,这两条件一上一下,强迫目标凸函数长得像一个二次函数。

Lipschitz smooth

L-smooth表明一个函数的梯度的变化不会太突兀,或者说这个函数比较平滑。

定义

定义如下:

ff is LL-smooth if f(x)f(y)Lxy\|\nabla f(x) -\nabla f(y)\| \leq L \| x-y\| for all x,yx,y.

从几何上理解 L-smooth 函数,ff的下界为超平面,上界为二次函数。如下图所示。

等价条件

等价条件有:

  1. ff is convex and LL-smooth.
  2. (f(x)f(y))T(xy)Lxy2(\nabla f(x)-\nabla f(y))^T(x-y)\leq L\|x-y\|^2 for all x, y.
  3. g(x)=L2xTxf(x)g(x)=\frac{L}{2}x^Tx-f(x) is convex.
  4. quadratic upper bound: 0f(y)f(x)f(x)T(yx)L2xy20\leq f(y)-f(x)-\nabla f(x)^T(y-x)\leq \frac{L}{2}\|x-y\|^2.
  5. f(y)f(x)+f(x)T(yx)12Lf(x)f(y)2f(y)\geq f(x)+\nabla f(x)^T(y-x)\leq \frac{1}{2L}\|\nabla f(x)-\nabla f(y)\|^2.
  6. co-coercivity: (f(x)f(y))T(xy)1Lf(x)f(y)2(\nabla f(x)-\nabla f(y))^T(x-y)\geq \frac{1}{L}\|\nabla f(x)-\nabla f(y)\|^2 for all x, y.

证明:(1⟹2)两边同乘xy\|x-y\|,由Cauchy-Schwartz不等式,得

Lxy2f(x)f(y)xy(f(x)f(y))T(xy)L\|x-y\|^2\geq \|\nabla f(x)-\nabla f(y)\|\|x-y\|\geq (\nabla f(x)-\nabla f(y))^T(x-y)。

(2⟺3)(f(x)f(y))T(xy)Lxy=L(xy)T(xy)(\nabla f(x)-\nabla f(y))^T(x-y)\leq L\|x-y\|=L(x-y)^T(x-y),即

(Lxf(x)Ly+f(y))T(xy)0(Lx-\nabla f(x)-Ly+\nabla f(y))^T(x-y)\geq 0,

(g(x)g(y))T(xy)0(\nabla g(x)-\nabla g(y))^T(x-y)\geq 0。由单调梯度条件,gg是凸函数。

(3⟺4)由ffgg的一阶条件计算得证。

(4⟺5)令z=y+1L(f(x)f(y))z=y+\frac{1}{L}(\nabla f(x)-\nabla f(y))。则

f(y)f(x)=f(y)f(z)+f(z)f(x)(qub)f(y)T(zy)L2yz2+f(x)T(zx)1Lf(y)T(f(x)f(y))12Lf(x)f(y)2+f(x)T(yx)+1Lf(x)T(f(x)f(y))=f(x)T(yx)+12Lf(x)f(y)2\begin{aligned} f(y)-f(x)&=f(y)-f(z)+f(z)-f(x)\\ (qub)\quad&\geq -\nabla f(y)^T(z-y)-\frac{L}{2}\|y-z\|^2+\nabla f(x)^T(z-x)\\ &\geq -\frac{1}{L}\nabla f(y)^T(\nabla f(x)-\nabla f(y))-\frac{1}{2L}\|\nabla f(x)-\nabla f(y)\|^2\\ &\quad+\nabla f(x)^T(y-x)+\frac{1}{L}\nabla f(x)^T(\nabla f(x)-\nabla f(y))\\ &=\nabla f(x)^T(y-x)+\frac{1}{2L}\|\nabla f(x)-\nabla f(y)\|^2 \end{aligned}

(5⟹6)由5得

f(y)f(x)+f(x)T(yx)+12Lf(x)f(y)2f(x)f(y)+f(y)T(xy)+12Lf(x)f(y)2\begin{aligned} f(y)&\geq f(x)+\nabla f(x)^T(y-x)+\frac{1}{2L}\|\nabla f(x)-\nabla f(y)\|^2\\ f(x)&\geq f(y)+\nabla f(y)^T(x-y)+\frac{1}{2L}\|\nabla f(x)-\nabla f(y)\|^2 \end{aligned}

两式相加得6。

(6⟹1)对6的左边使用Cauchy-Schwartz不等式可得L-smooth。

6的右边0\geq 0,由单调梯度条件可得convex。

Strongly convex

Strongly convex表明一个函数相对二次函数凸的程度。

定义

定义如下:

f is μ\mu-strongly convex if f(x)μ2xTxf(x)-\frac{\mu}{2}x^T x is convex.

一个函数减去二次函数仍然是 convex, 说明它至少有这个二次函数这么凸。或者说这个二次函数是它的一个下界。如下图所示。

等价条件

  1. ff is differentiable and μ\mu-strongly convex.
  2. ff is differentiable and f(αx+βy)αf(x)+βf(y)μαβ2xy2f(\alpha x +\beta y) \leq \alpha f(x) + \beta f(y) - \frac{\mu \alpha \beta}{2} \|x-y\|^2 for all x,yx, y, for all α,β0\alpha, \beta\geq 0 s.t. α+β=1\alpha + \beta = 1.
  3. (quadratic lower bound): f(y)f(x)+f(x)T(yx)+μ2yx2f(y)\geq f(x) + \nabla f(x)^T (y-x) + \frac{\mu}{2} \|y-x\|^2.
  4. (strong monotonicity or coercivity): (f(x)f(y))T(xy)μxy2\big (\nabla f(x) - \nabla f(y)\big )^T (x-y) \geq \mu\| x - y \| ^2.

证明:(1⟺2)对f(x)μ2xTxf(x)-\frac{\mu}{2}x^T x使用凸函数定义。

(1⟺3)对f(x)μ2xTxf(x)-\frac{\mu}{2}x^T x使用凸函数一阶条件。

(1⟺4)对f(x)μ2xTxf(x)-\frac{\mu}{2}x^T x使用凸函数单调梯度条件。

拉格朗日函数和对偶函数

xRnx\in\mathbb R^n,定义域为D\mathcal D。考虑凸优化问题

minf0(x)s.t.fi(x)0,i=1,,mAx=b,ARp×n,p<n.\begin{aligned} \min&\quad f_0(x)\\ \operatorname{s.t.} &\quad f_i(x)\leq 0,\quad i=1,\cdots,m\\ &\quad Ax=b,\quad A\in\mathbb R^{p\times n},\quad p<n. \end{aligned}

拉格朗日函数(Lagrangian)为

L(x,λ,ν)=f0(x)+λTf(x)+νT(Axb).L(x,\lambda,\nu)=f_0(x)+\lambda^Tf(x)+\nu^T(Ax-b).

再取下确界得到拉格朗日对偶函数(lagrange dual function)

g(λ,ν)=infxD(f0(x)+λTf(x)+νT(Axb)).g(\lambda,\nu)=\inf_{x\in\mathcal D}\left(f_0(x)+\lambda^Tf(x)+\nu^T(Ax-b)\right).

对偶函数性质:

  • g(λ,ν)g(\lambda,\nu)为凹函数;
  • g(λ,ν)f0(x)g(\lambda,\nu)\leq f_0(x^*)对任意λ0\lambda\geq0ν\nu成立。

对偶函数可以给出原问题最优解的一个不平凡下界,这意味着如果原问题很难求解的时候,我们可以转变思路,求解一个新的优化问题:

maxg(λ,ν)s.t.λ0.\begin{aligned} \max &\quad g(\lambda,\nu)\\ \operatorname{s.t.} &\quad \lambda\geq 0. \end{aligned}

常用对偶问题的例子

对偶问题

令对偶问题的最优解为gg^*,原问题最优解为f0f_0^*。那么有

  • 弱对偶(weak duality):满足gf0g^*\leq f_0^*,无论原问题是否为凸都成立;
  • 强对偶(strong duality):满足g=f0g^*= f_0^*,如果原问题为凸,一般都成立。在凸优化中,保证强对偶成立的条件被称为constraint qualifications,如Slater's condtion。

Slater's condtion:存在可行解xintDx\in\operatorname{int} \mathcal D,使得Ax=bAx=bfi(x)<0f_i(x)<0i=1,,mi=1,\cdots,m

  • 由于存在线性等式约束,因此实际定义域可能不存在内点,可以将这一条件放松为相对内点,即xrintDx\in\operatorname{rint} \mathcal D
  • 如果不等式约束中存在线性不等式,那么它也不必严格小于0,即fi(x)0f_i(x)\leq 0

KKT条件

由上面的分析,原问题最优解为f0=infxsupλ,νL(x,λ,ν)f_0^*=\inf_x\sup_{\lambda,\nu}L(x,\lambda,\nu)g=supλ,νinfxL(x,λ,ν)g^*=\sup_{\lambda,\nu}\inf_x L(x,\lambda,\nu)

弱对偶性即max-min不等式:

infxsupλ,νL(x,λ,ν)supλ,νinfxL(x,λ,ν)\inf_x\sup_{\lambda,\nu}L(x,\lambda,\nu)\geq\sup_{\lambda,\nu}\inf_x L(x,\lambda,\nu)

强对偶性说明x,λ,νx,\lambda,\nu是拉格朗日函数的鞍点。

KKT条件:

Ax=b,fi(x)0,i=1,,mλ0f0(x)+i=1mλifi(x)+ATν=0λifi(x)=0,i=1,,m.\begin{aligned} Ax^*=b,\quad f_i(x^*)&\leq 0,\quad i=1,\cdots,m\\ \lambda^*&\geq 0\\ \nabla f_0(x^*)+\sum_{i=1}^m\lambda_i^*\nabla f_i(x^*)+A^T\nu^*&=0\\ \lambda_i^*f_i(x^*)&=0,\quad i=1,\cdots,m. \end{aligned}

如果Slater's condtion满足,那么xx为最优解当且仅当存在λ,ν\lambda,\nu满足 KKT 条件!