凸优化(一):凸函数、对偶问题和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,y∈dom⁡f\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。

等价条件

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

  • 各向皆凸:设f:Rn→Rf:\mathbb R^n\to \mathbb R ,有映射g(t)=f(x+tv)g(t)=f(x+tv),dom⁡g=t∣x+tv∈dom⁡f\operatorname{dom}g=t|x+tv\in\operatorname{dom}f,则ff为凸函数当且仅当g(t)g(t)对任意x∈dom⁡fx\in\operatorname{dom} f,v∈Rnv\in\mathbb R^n都是凸函数。
  • 一阶条件:对于可导函数,ff为凸函数当且仅当f(y)≥f(x)+∇fT(x)(y−x)f(y)\geq f(x)+\nabla f^T(x)(y-x),∀x,y∈dom⁡f\forall x,y\in \operatorname{dom}f。
  • 二阶条件:对于二阶可导函数,ff为凸函数当且仅当Hessian∇2f(x)⪰0\nabla^2f(x)\succeq 0,∀x∈dom⁡f\forall x\in \operatorname{dom} f。
  • epigraph:ff为凸函数当且仅当epigraph为凸集。epigraph的定义为:epi⁡f={(x,t)∈Rn+1∣x∈dom⁡f, 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(x−y)≥0\left(\nabla f(x)-\nabla f(y)\right)^T(x-y)\geq 0,∀x∈dom⁡f\forall x\in \operatorname{dom} f。

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

f(y)≥f(x)+∇fT(x)(y−x)f(x)≥f(y)+∇fT(y)(x−y)\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(y−x))g(t)=f(x+t(y-x)),那么g′(t)=∇f(x+t(y−x))T(y−x)g'(t)=\nabla f(x+t(y-x))^T (y-x)。对于t≥0t \geq 0, 由于(∇f(x)−∇f(y))T(x−y)≥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)dt≥∫01g′(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(y−x)f(y) \geq f(x) + \nabla f(x)^T (y-x)。

常见凸函数

常见凸函数:

  • ezxe^{zx}在R\mathbb R上为凸函数,对任意a∈Ra\in\mathbb R成立。
  • xax^a在R++\mathbb R_{++}上为凸函数,如果a≥1a\geq 1或a≤0a\leq 0;为凹函数,如果0≤a≤10\leq a\leq 1。
  • ∣x∣p|x|^p在R\mathbb R上为凸函数,如果p≥1p\geq 1。
  • log⁡x\log x在R++\mathbb R_{++}上为凹函数。
  • xlog⁡xx\log x在R++\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)∥≤L∥x−y∥\|\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(x−y)≤L∥x−y∥2(\nabla f(x)-\nabla f(y))^T(x-y)\leq L\|x-y\|^2 for all x, y.
  3. g(x)=L2xTx−f(x)g(x)=\frac{L}{2}x^Tx-f(x) is convex.
  4. quadratic upper bound: 0≤f(y)−f(x)−∇f(x)T(y−x)≤L2∥x−y∥20\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(y−x)≤12L∥∇f(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(x−y)≥1L∥∇f(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)两边同乘∥x−y∥\|x-y\|,由Cauchy-Schwartz不等式,得

L∥x−y∥2≥∥∇f(x)−∇f(y)∥∥x−y∥≥(∇f(x)−∇f(y))T(x−y)。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(x−y)≤L∥x−y∥=L(x−y)T(x−y)(\nabla f(x)-\nabla f(y))^T(x-y)\leq L\|x-y\|=L(x-y)^T(x-y),即

(Lx−∇f(x)−Ly+∇f(y))T(x−y)≥0,(Lx-\nabla f(x)-Ly+\nabla f(y))^T(x-y)\geq 0,

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

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

(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(z−y)−L2∥y−z∥2+∇f(x)T(z−x)≥−1L∇f(y)T(∇f(x)−∇f(y))−12L∥∇f(x)−∇f(y)∥2+∇f(x)T(y−x)+1L∇f(x)T(∇f(x)−∇f(y))=∇f(x)T(y−x)+12L∥∇f(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(y−x)+12L∥∇f(x)−∇f(y)∥2f(x)≥f(y)+∇f(y)T(x−y)+12L∥∇f(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)−μαβ2∥x−y∥2f(\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(y−x)+μ2∥y−x∥2f(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(x−y)≥μ∥x−y∥2\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使用凸函数单调梯度条件。

拉格朗日函数和对偶函数

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

min⁡f0(x)s.t.⁡fi(x)≤0,i=1,⋯ ,mAx=b,A∈Rp×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(Ax−b).L(x,\lambda,\nu)=f_0(x)+\lambda^Tf(x)+\nu^T(Ax-b).

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

g(λ,ν)=inf⁡x∈D(f0(x)+λTf(x)+νT(Ax−b)).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成立。

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

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

常用对偶问题的例子:

对偶问题

令对偶问题的最优解为g∗g^*,原问题最优解为f0∗f_0^*。那么有

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

Slater's condtion:存在可行解x∈int⁡Dx\in\operatorname{int} \mathcal D,使得Ax=bAx=b,fi(x)<0f_i(x)<0,i=1,⋯ ,mi=1,\cdots,m。

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

KKT条件

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

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

inf⁡xsup⁡λ,νL(x,λ,ν)≥sup⁡λ,νinf⁡xL(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λ∗≥0∇f0(x∗)+∑i=1mλi∗∇fi(x∗)+ATν∗=0λi∗fi(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 条件!