ConvOpt

2_math

导数(Derivative)与梯度(Gradient)

f(x)f(\bm x)的导数f(x)f'(\bm x)是行向量,梯度f\nabla f是列向量。

常见函数的导数:

  • f(x)=aTxf(\bm x)=\bm{a^Tx},则f(x)=aTf'(\bm x)=\bm{a^T}f=a\nabla f = \bm a
  • f(x)=xTAxf(\bm x)=\bm{x^TAx},则f(x)=xT(A+AT)f'(\bm x)=\bm{x^T(A+A^T)}f=(A+AT)x\nabla f = (\bm A+\bm A^T)\bm x
  • f(x)=Ax\bm f(\bm x)=\bm A\bm x,则f(x)=A\bm f'(\bm x)=\bm Af=AT\nabla \bm f = \bm A^T
总结

一般来讲求梯度用的比较多,因为梯度是n×mn\times m的,而自变量是n×1n\times 1的,所以两者会比较相像(特别是m=1m=1时,而大多数凸优化问题就需要用到这个情况)。

对于求梯度的方法,我们应该从里往外(对比:求导数是从外往里)。比如f(g(x))=g(x)f(g(x))\nabla \bm f(\bm g(\bm x)) = \nabla \bm g(\bm x)\nabla \bm f(\bm g(\bm x))

Range和Null

对于矩阵QRm×n\bm Q\in\mathbb R^{m\times n},定义:

Range(Q)={Qx:xRn}Null(Q)={x:Qx=0}\begin{aligned} \text{Range}(\bm Q) &= \{\bm Q\bm x : \bm x\in \mathbb R^n\} \\ \text{Null}(\bm Q) &= \{\bm x : \bm Q\bm x = \bm 0\} \end{aligned}

定义Rn\mathbb R^n向量集合AA,则定义nn维向量bA\bm b\perp A

bTx=0,xA\bm b^T \bm x = 0, \forall \bm x \in A

定义A={b:bTx=0,xA}A^{\perp} = \{\bm b: \bm b^T\bm x = 0, \bm x\in A\}

有$$\text{Range}(\bm QT){\perp} = \text{Null}(\bm Q)$$

证明

yRange(QT),xRm,QTx=0\forall \bm y \in \text{Range}(\bm Q^T), \exists \bm x \in \mathbb R^m, \bm Q^T\bm x = 0

对于Null: $$\forall \bm b\in \text{Null}(\bm Q), \bm Q\bm b = 0$$

有: $$\langle\bm y, \bm b\rangle = \bm y^T \bm b = \bm x^T \bm Q\bm b = \bm x^T \bm 0 = 0$$

Hessian

记为2f(x)\nabla^2 f(\bm x),是一个n×nn\times n的矩阵,有对称性。

Chain Rule

g:RmRng:\mathbb{R}^m\to \mathbb{R}^nf:RnRf:\mathbb{R}^n\to \mathbb{R},则复合函数h(x)=f(g(x))h(\bm{x})=f(g(\bm{x}))的梯度为

h(x)=g(x)f(g(x))\nabla h(\bm{x})=\nabla g(\bm{x})\nabla f(g(\bm{x}))

导数的形式为

h(x)=f(g(x))g(x)h'(\bm{x})=f'(g(\bm{x}))g'(\bm{x})

这里定义梯度为导数(加科比)的转置。

Taylor Expansion

f:RnRf:\mathbb{R}^n\to \mathbb{R}在点x\bm{x}处二阶可导,则对于任意的dRn\bm{d}\in \mathbb{R}^n,都有

f(x+d)=f(x)+f(x)Td+12dT2f(x)d+o(d2)f(\bm{x}+\bm{d})=f(\bm{x})+\nabla f(\bm{x})^T\bm{d}+\frac{1}{2}\bm{d}^T\nabla^2 f(\bm{x})\bm{d} + o(\|\bm{d}\|^2)

正定

正定记为QO\bm{Q}\succ \bm{O};半正定记为QO\bm{Q}\succeq \bm{O};负定记为QO\bm{Q}\prec \bm{O};半负定记为QO\bm{Q}\preceq \bm{O}

  • 如果Hessian正定(positive definite),则函数是严格凸(convex)的。

正定判别用顺序主子式。

  • 如果Hessian半正定(positive semi-definite),则函数是凸的。

半正定判别用主子式。

  • 如果Hessian负定(negative definite),则函数是严格凹(concave)的。
  • 如果Hessian半负定(negative semi-definite),则函数是凹的。

如果不是正定或负定(indefinite),则函数既不是凸的也不是凹的。

特征向量与特征值(Eigenvalue and Eigenvector)

正定矩阵的所有特征值均为正;
半正定矩阵的所有特征值均为非负;
负定矩阵的所有特征值均为负;
半负定矩阵的所有特征值均为非正;
不定矩阵的特征值有正有负。

特征值分解(Eigendecomposition)。
二次型(Quadratic Form)。

二次型上下界

QRn×n\bm{Q}\in \mathbb{R}^{n\times n}是一个对称矩阵,且其特征值为λ1,λ2,,λn\lambda_1,\lambda_2,\cdots,\lambda_n,则对于任意的xRn\bm{x}\in \mathbb{R}^n,都有

λmin(Q)xTxxTQxλmax(Q)xTx\lambda_{\min}(\bm{Q})\bm{x^Tx}\leq \bm{x^TQx}\leq \lambda_{\max}(\bm{Q})\bm{x^Tx}

证明时利用对称矩阵可以被正交对角化。

First-order Necessary Condition for Convexity(一次必要条件)

x\bm x^*是函数f:RnRf:\mathbb{R}^n\to \mathbb{R}的一个局部最小点,且函数在x\bm x^*可导,则有

f(x)=0\nabla f(\bm x^*)=\bm 0

利用方向向量转化为单变量函数可证明。

如果xx^*恰好在边界上(不在也成立),则对于任意的feasible direction d\bm d,都有

dTf(x)0\bm d^T\nabla f(\bm x^*) \geq 0

Bounds on Quadratic Forms

QRn×n\bm{Q}\in \mathbb{R}^{n\times n}是一个对称矩阵,且其特征值为λ1,λ2,,λn\lambda_1,\lambda_2,\cdots,\lambda_n,则对于任意的xRn\bm{x}\in \mathbb{R}^n,都有

λmin(Q)xTxxTQxλmax(Q)xTx\lambda_{\min}(\bm{Q})\bm{x^Tx}\leq \bm{x^TQx}\leq \lambda_{\max}(\bm{Q})\bm{x^Tx}

Second-order Necessary Condition for Convexity(二次必要条件)

x\bm x^*是函数f:RnRf:\mathbb{R}^n\to \mathbb{R}的一个局部最小点,且函数在x\bm x^*二阶可导,则有

2f(x) is positive semi-definite\nabla^2 f(\bm x^*) \text{ is positive semi-definite}

也就是说,对于任意的dRn\bm d\in \mathbb{R}^n,都有

dT2f(x)d0\bm d^T\nabla^2 f(\bm x^*)\bm d \geq 0

Second-order Sufficient Condition for Convexity(二次充分条件)

如果某个点x\bm x^*满足

  1. f(x)=0\nabla f(\bm x^*)=\bm 0
  2. 2f(x)\nabla^2 f(\bm x^*) is positive definite;

x\bm x^*是函数f:RnRf:\mathbb{R}^n\to \mathbb{R}的一个严格局部最小点。

3_convset

Line, line segment, ray

x1,x2Rn\bm{x_1},\bm{x_2}\in \mathbb{R}^n,则通过x1\bm{x_1}x2\bm{x_2}直线(line)定义为

{x=θx1+θˉx2:θR}\{\bm{x}=\theta \bm{x_1}+\bar \theta \bm{x_2}:\theta\in \mathbb{R}\}

θ[0,1]\theta\in [0,1]时,上述集合称为通过x1\bm{x_1}x2\bm{x_2}线段(line segment);
θ0\theta\geq 0时,上述集合称为从x1\bm{x_1}出发经过x2\bm{x_2}射线(ray)。

线段上的点称为convex combination。

Convex Set

CRnC\subseteq \mathbb{R}^n是一个集合,如果对于任意的x1,x2C\bm{x_1},\bm{x_2}\in C及任意的θ[0,1]\theta\in [0,1],都有

θx1+θˉx2C\theta \bm{x_1}+\bar \theta \bm{x_2}\in C

则称CCRn\mathbb{R}^n中的一个凸集(convex set)。

  • intersection of convex sets is still convex set.

超平面

对于Rn\mathbb{R}^n中的一个非零向量w\bm{w}和一个实数bb,定义集合

H={xRn:wTx=b}H=\{\bm{x}\in \mathbb{R}^n:\bm{w^T}\bm{x}=b\}

集合HH称为Rn\mathbb{R}^n中的一个超平面(hyperplane)。

所以超平面方程为:

wTx=b\bm{w^T}\bm{x}=b

half-space:

wTx<b\bm{w^T}\bm{x}<b

Affine Space

Affine Space$$S = {x\in \mathbb R^n:\bm A\bm x = \bm b}$$是convex set。

Polyhedra

A polyhedron P={xRn:Axb}P = \{x\in\mathbb R^n: \bm A\bm x \leq \bm b\} is convex.

可以视作多个超平面的交集。

显然Polyhedra的交集也是Polyhedron。

Norm balls

A closed ball B(x0,r)={xRn:xx0r}\overline B(\bm x_0, r) = \{\bm x\in\mathbb R^n: \|\bm x - \bm x_0\|\leq r\} is convex.

Ellipsoids

An ellipsoid E={x0+Au:u21},AO\mathcal{E} = \{\bm x_0 + \bm A\bm u: \|\bm u\|_2\leq 1\}, \bm A\succ \bm O is convex.

利用特征值分解转化为一个norm ball的变体可以证明。

Affine transformation preserves convexity

C\mathbb C is convex, f(x)=Ax+b,xC\bm f(\bm x) = \bm A\bm x + \bm b, \bm x\in\mathbb C,则f(C)={Ax+b:xC}\bm f(\mathbb C) = \{\bm A\bm x + \bm b: \bm x\in\mathbb C\} is convex.

Positive semidefinite matrices

The set of all positive semidefinite matrices S+n={XRn×n:X=XT,XO}\mathbb S^n_+ = \{\bm X\in\mathbb R^{n\times n}: \bm X = \bm X^T, \bm X\succeq \bm O\} is convex.

Convex Combination

凸集中多个点的凸组合仍在该凸集中(利用定义即可)。

Convex Hull

中文名为凸包。设SRnS\subseteq \mathbb{R}^n是一个集合,则SS凸包(convex hull)定义为包含SS的所有凸集的交集,记为convS\text{conv}S

可以证明convS\text{conv}S等于SS中有限个点的所有凸组合的集合,即

convS={i=1kθixi:xiS,θi0,i=1kθi=1,kN}\text{conv}S=\left\{\sum_{i=1}^k \theta_i \bm{x_i}:\bm{x_i}\in S,\theta_i\geq 0,\sum_{i=1}^k \theta_i=1,k\in \mathbb{N}\right\}

Affinely Independent Points

x1,x2,,xkRn\bm{x_1},\bm{x_2},\cdots,\bm{x_k}\in \mathbb{R}^nkk个点,如果向量组

{x2x1,x3x1,,xkx1}\{\bm{x_2}-\bm{x_1},\bm{x_3}-\bm{x_1},\cdots,\bm{x_k}-\bm{x_1}\}

线性无关,则称点x1,x2,,xk\bm{x_1},\bm{x_2},\cdots,\bm{x_k}Rn\mathbb{R}^n中的仿射无关点(affinely independent points)。

Simplexes

x1,x2,,xk+1Rn\bm{x_1},\bm{x_2},\cdots,\bm{x_{k+1}}\in \mathbb{R}^nk+1k+1个仿射无关点,则称集合

conv{x1,x2,,xk+1}\text{conv}\{\bm{x_1},\bm{x_2},\cdots,\bm{x_{k+1}}\}

Rn\mathbb{R}^n中的一个**kk-单纯形**(kk-simplex)。

probability simplex:

Δn={θRn:1Tθ=1,θ0}\Delta_n = \{\bm{\theta}\in\mathbb R^n: \bm 1^T\bm \theta = 1, \bm \theta \geq \bm 0\}

is a simplex.

Convex Cone

CRnC\subseteq \mathbb{R}^n是一个集合,如果对于任意的xC\bm{x}\in C及任意的θ0\theta\geq 0,都有θxC\theta \bm{x}\in C,则称CCRn\mathbb{R}^n中的一个锥(cone)

如果CC同时是一个凸集,则称CCRn\mathbb{R}^n中的一个凸锥(convex cone)

对于一个矩阵ARm×n\bm{A}\in \mathbb{R}^{m\times n},定义集合

C={Ax:x0}C=\{\bm{Ax}:\bm{x}\geq \bm{0}\}

CCRm\mathbb{R}^m中的一个凸锥,称为由A\bm{A}生成的凸锥(convex cone)。

这里是怎么回事呢?将A\bm{A}写作列向量的形式:

A=[a1,a2,,an]\bm{A}=[\bm{a_1},\bm{a_2},\cdots,\bm{a_n}]

Ax\bm{Ax}可以写作

Ax=x1a1+x2a2++xnan\bm{Ax}=x_1\bm{a_1}+x_2\bm{a_2}+\cdots+x_n\bm{a_n}

所以CC中的元素就是A\bm{A}的列向量的非负线性组合。

证明CC是一个凸锥:

  1. 锥的性质:对于任意的yC\bm{y}\in C,存在x0\bm{x}\geq \bm{0},使得y=Ax\bm{y}=\bm{Ax}。对于任意的θ0\theta\geq 0,有

    θy=θAx=A(θx)\theta \bm{y}=\theta \bm{Ax}=\bm{A}(\theta \bm{x})

    因为θx0\theta \bm{x}\geq \bm{0},所以θyC\theta \bm{y}\in C

  2. 凸集的性质:对于任意的y1,y2C\bm{y_1},\bm{y_2}\in C,存在x1,x20\bm{x_1},\bm{x_2}\geq \bm{0},使得y1=Ax1\bm{y_1}=\bm{Ax_1}y2=Ax2\bm{y_2}=\bm{Ax_2}。对于任意的θ[0,1]\theta\in [0,1],有

    θy1+θˉy2=θAx1+θˉAx2=A(θx1+θˉx2)\theta \bm{y_1}+\bar \theta \bm{y_2}=\theta \bm{Ax_1}+\bar \theta \bm{Ax_2=\bm{A}(\theta \bm{x_1}+\bar \theta \bm{x_2})}

    因为θx1+θˉx20\theta \bm{x_1}+\bar \theta \bm{x_2}\geq \bm{0},所以θy1+θˉy2C\theta \bm{y_1}+\bar \theta \bm{y_2}\in C

实际上,形象理解的话,凹进去的向量不会产生作用,只有突出来的有用。

Projection onto Convex Sets

定义x\bm xCC的distance为

dist(x,C)=infzCxz2\operatorname{dist}(\bm x,C) = \inf_{\bm z \in C} \|\bm x - \bm z\|_2

CRnC\subseteq \mathbb{R}^n是一个非空闭凸集,则对于任意的xRn\bm{x}\in \mathbb{R}^n,存在唯一的x^C\bm{\hat x}\in C,使得

xx^2=dist(x,C)\|\bm{x}-\bm{\hat x}\|_2=\operatorname{dist}(\bm x, C)

记为$$\bm{\hat x} = \mathcal P_C(\bm x)$$

证明:

存在性(existence):随便找一个z0C\bm z_0\in C,令K=B(x,xz02)CK = B(\bm x, \|\bm x - \bm z_0\|_2)\cap C,则KK是Compact Set,距离函数$$|\bm x - \bm z|_2$$对于z\bm zKK上连续,所以存在最小值点。

唯一性(uniqueness):反证法,假设存在两个,则找中点,更近。

CRnC\subseteq \mathbb{R}^n是一个非空闭凸集,xRn\bm x\in \mathbb{R}^n,则x^=PC(x)\bm{\hat x}=\mathcal P_C(\bm x)的充分必要条件是对于任意的zC\bm z\in C,都有

(xx^)T(zx^)0(\bm x - \bm{\hat x})^T(\bm z - \bm{\hat x}) \leq 0

证明:

x^=PC(x)    zx^+x^x2x^x2,zC    2(xx^)T(zx^)+zx^220,zC\begin{aligned} \bm{\hat x} = \mathcal P_C(\bm x) \iff& \|\bm z - \bm{\hat x} + \bm{\hat x} - \bm{x}\|_2\geq \|\bm{\hat x} - \bm x\|_2 & ,\forall\bm z\in C\\ \iff& -2(\bm x - \bm{\hat x})^T(\bm z - \bm{\hat x}) + \|\bm z - \bm{\hat x}\|_2^2\geq 0 & ,\forall\bm z\in C\\ \end{aligned}

z=x^\bm z = \bm{\hat x}时,结论自然成立;

zx^\bm z \neq \bm{\hat x}时,可以看作一个关于zx^2\|\bm z - \bm{\hat x}\|_2的二次函数,所以对称轴(cosθ\cos\theta)非正时,结论成立。这对应了结论中的不等式。

反之,很容易得到充分性。

xy2P(x)P(y)2\|\bm x - \bm y\|_2\geq\|\mathcal P(\bm x) - \mathcal P(\bm y)\|_2

证明:

xy22=xx^+x^y^+y^y22=x^y^22+xx^+y^y22+2x^y^,xx^+y^yx^y^22+2x^y^,xx^+y^y=x^y^222y^x^,xx^2x^y^,yy^x^y^22\begin{aligned} \|\bm{x} - \bm{y}\|_2^2 &= \|\bm{x} - \bm{\hat x} + \bm{\hat x} - \bm{\hat y} +\bm{\hat y} - \bm{y}\|_2^2 \\ &= \|\bm{\hat x} - \bm{\hat y}\|_2^2 + \|\bm{x} - \bm{\hat x} + \bm{\hat y} - \bm{y} \|_2^2 + 2\langle\bm{\hat x} - \bm{\hat y}, \bm{x} - \bm{\hat x} + \bm{\hat y} - \bm{y} \rangle\\ &\geq \|\bm{\hat x} - \bm{\hat y}\|_2^2 + 2\langle\bm{\hat x} - \bm{\hat y}, \bm{x} - \bm{\hat x} + \bm{\hat y} - \bm{y} \rangle\\ &= \|\bm{\hat x} - \bm{\hat y}\|_2^2 - 2\langle\bm{\hat y} - \bm{\hat x}, \bm{x} - \bm{\hat x}\rangle - 2\langle \bm{\hat x} - \bm{\hat y}, \bm{y} - \bm{\hat y}\rangle\\ &\geq \|\bm{\hat x} - \bm{\hat y}\|_2^2 \\ \end{aligned}

其中最后一步用了上一个结论。

考虑非空闭凸集CC,对于x0C\bm x_0\notin C,存在w0\bm w\neq \bm 0,满足$$\sup_{\bm x\in C}\langle\bm w, \bm x\rangle < \langle\bm w, \bm x_0\rangle$$

证明:令w=x0P(x0)\bm w = \bm x_0 - \mathcal P(\bm x_0)即可。

Supporting Hyperplane

根据以上推导,可以很自然引出Supporting Hyperplane的定义:

CRnC\subseteq \mathbb{R}^n是一个非空凸集,x0C\bm x_0\in \partial C,则存在w0\bm w\neq \bm 0,使得$$\langle\bm w, \bm x\rangle \leq \langle\bm w, \bm x_0\rangle = b, \forall \bm x\in C$$

构造一个数列{xk}\{\bm x_k\},使得xkx0\bm x_k\to \bm x_0,且每一个元素都在C\overline C外,利用之前结论即可证明。

这里需要用到一个Lemma:

If CC is convex, then intC=intC\operatorname{int} C = \operatorname{int} \overline CC=C\partial C = \partial \overline C

Separating Hyperplane

两个非空凸集没有交集,就可以用一个超平面把它们分开。即存在w0\bm w\neq \bm 0bb,使得$$\langle\bm w, \bm x\rangle \leq b, \forall \bm x\in C$$且$$\langle\bm w, \bm y\rangle \geq b, \forall \bm y\in D$$

做一个E={xy:xC,yD}E = \{ \bm x - \bm y: \bm x\in C, \bm y\in D\},则EE也是凸集,且0E\bm 0\notin E。利用之前的结论即可证明。

Farka’s Lemma

A\bm{A}是一个m×nm\times n矩阵,bRm\bm{b}\in \mathbb{R}^m。则下列命题恰有一个成立

  1. 存在xRn\bm{x}\in \mathbb{R}^n,使得Ax=b\bm{Ax}=\bm{b}x0\bm{x}\geq \bm{0}
  2. 存在yRm\bm{y}\in \mathbb{R}^m,使得ATy0\bm{A^Ty}\geq \bm{0}bTy<0\bm{b^Ty}<0

证明较为复杂。首先可以得到命题1成立可以推出命题2不成立,所以两者不可能同时成立(使用coneA\operatorname{cone} A)。然后需要证明如果命题1不成立,则命题2成立(使用分离定理)。

4_convfunc

Convex Function

CRnC\subseteq \mathbb{R}^n是一个凸集,函数f:CRf:C\to \mathbb{R}称为凸函数,如果对于任意的x1,x2C\bm{x_1},\bm{x_2}\in C及任意的θ[0,1]\theta\in [0,1],都有

f(θx1+θˉx2)θf(x1)+θˉf(x2)f(\theta \bm{x_1}+\bar \theta\bm{x_2})\leq \theta f(\bm{x_1})+\bar\theta f(\bm{x_2})

其中θˉ=1θ\bar \theta=1-\theta。如果不等式方向反过来,则称ff凹函数(concave function)

Strict Convex Function:当x1x2\bm{x_1}\neq \bm{x_2}θ(0,1)\theta\in (0,1)时,上述不等式严格成立(不取等)。

一个凸函数的连续一段要不是严格凸的(相对端点),要不是线性的。

Restriction to lines

ff is convex iff for any xdomf\bm{x}\in\text{dom}f and any direction d\bm{d}, the function g:RRg:\mathbb{R}\to \mathbb{R} defined by

g(t)=f(x+td)g(t)=f(\bm{x}+t \bm{d})

is convex in its domain.

严格凸函数只要d0\bm{d}\neq \bm{0}θ(0,1)\theta\in (0,1)时,上述不等式严格成立。

注意了,这里的direction d\bm d可以是任意向量,并不要求是单位向量。

证明比较简单,用对应关系就好。

Extended-value Extension

f:CRf:C\to \mathbb{R}是定义在凸集CRnC\subseteq \mathbb{R}^n上的函数,则其扩展值扩展(extended-value extension)定义为f~:RnR{+}\tilde f:\mathbb{R}^n\to \mathbb{R}\cup \{+\infty\},其中

f~(x)={f(x),xC+,xC\tilde f(\bm{x})=\begin{cases}f(\bm{x}),&\bm{x}\in C\\ +\infty,&\bm{x}\notin C\end{cases}

ff是凸函数的充分必要条件是f~\tilde f是凸函数。

注意,这里认为+0=0+\infty\cdot 0 = 0

First-order Condition for Convexity(一次充分必要条件)

f:RnRf:\mathbb{R}^n\to \mathbb{R}是一个可微函数,则ff是凸函数的充分必要条件是对于任意的x1,x2domf\bm{x_1},\bm{x_2}\in \text{dom}f(open),都有

f(x2)f(x1)+f(x1)T(x2x1)f(\bm{x_2})\geq f(\bm{x_1})+\nabla f(\bm{x_1})^T(\bm{x_2}-\bm{x_1})

证明一个方向用lim\lim,另一个方向中间取个点用凸性。

严格就让x1x2\bm{x_1}\neq \bm{x_2},然后不取等。

First-order Condition for univariate function

f:RRf:\mathbb{R}\to \mathbb{R}是一个在开区间上的可微函数,则ff是凸函数的充分必要条件是ff'单调递增。

Optimality for stationary point

f:RnRf:\mathbb{R}^n\to \mathbb{R}是一个可微凸函数,xdomf\bm x^*\in \text{dom}ff(x)=0\nabla f(\bm x^*)=\bm 0,则x\bm x^*ff的全局最小点。

Second-order Condition for Convexity(二次充分必要条件)

f:RnRf:\mathbb{R}^n\to \mathbb{R}是一个二阶可导函数,则ff是凸函数的充分必要条件是对于任意的xdomf\bm{x}\in \text{dom}f,都有

2f(x) is positive semi-definite\nabla^2 f(\bm x) \text{ is positive semi-definite}

这个有点意思,利用构造辅助函数g(t)=f(x+td)g(t) = f(\bm x + t \bm d)g(0)0g''(0)\geq 0即可证明。

如果是strict convexity,则Hessian严格正定(只是充分条件)。

一定要记住Hessian半正定等价于dT2f(x)d0,d\bm d^T \nabla^2 f(\bm x) \bm d \geq 0, \forall \bm d

Global Minima of Convex Functions

local minimum = global minimum

这个很容易证明,假设+反证即可。

严格凸函数global minimum唯一。

证明:假设存在两个不同的global minimum,则取中点,利用strict convexity即可得到矛盾。

Sublevel sets

f:RnRf:\mathbb{R}^n\to \mathbb{R}是一个凸函数,则对于任意的αR\alpha\in \mathbb{R},其α\alpha下水平集α\alpha-sublevel set)

Cα={xdomf:f(x)α}C_\alpha=\{\bm{x}\in \text{dom}f:f(\bm{x})\leq \alpha\}

是一个凸集。

对应的命题是superlevel set for concave function.

它的逆命题不为真(非凸函数的所有下水平集也可能都是凸的)。

Epigraph

f:RnRf:\mathbb{R}^n\to \mathbb{R}是一个函数,则其上图(epigraph)定义为集合

epif={(x,y)Rn+1:xdomf,yf(x)}\text{epi}f=\{(\bm{x},y)\in \mathbb{R}^{n+1}: \bm{x}\in \text{dom}f, y\geq f(\bm{x})\}

f~\tilde fff有相同的epigraph。

ff是凸函数    \iff其epigraph是凸集。

Holder’s Inequality

p,q[1,+]p,q\in [1,+\infty]满足1p+1q=1\frac{1}{p}+\frac{1}{q}=1(conjugate exponents共轭指数),则对于任意的x,yRn\bm{x},\bm{y}\in \mathbb{R}^n,都有

xTyxpyq\bm{|x^Ty|}\leq \|\bm x\|_p \|\bm y\|_q

利用log\log的concave条件(Jensen’s Inequality)即可证明。

x\bm xy\bm y中每一维都取绝对值依然成立。

Minkowski’s Inequality

p[1,+]p\in [1,+\infty],则对于任意的x,yRn\bm{x},\bm{y}\in \mathbb{R}^n,都有

x+ypxp+yp\|\bm x + \bm y\|_p \leq \|\bm x\|_p + \|\bm y\|_p

证明见讲义。

Nonnegative combinations

fi:RnR,i=1,2,,mf_i:\mathbb{R}^n\to \mathbb{R}, i=1,2,\cdots,mmm个凸函数,且αi0,i=1,2,,m\alpha_i\geq 0, i=1,2,\cdots,m,则函数

f(x)=i=1mαifi(x)f(\bm x) = \sum_{i=1}^m \alpha_i f_i(\bm x)

是一个凸函数。

Affine composition

f:RmRf:\mathbb{R}^m\to \mathbb{R}是一个凸函数,ARm×n\bm{A}\in \mathbb{R}^{m\times n}bRm\bm{b}\in \mathbb{R}^m,则函数

g(x)=f(Ax+b)g(\bm x) = f(\bm{Ax}+\bm{b})

是一个凸函数。

Scalar composition

g:RRg:\mathbb{R}\to \mathbb{R}是一个凸函数,且f:RnRf:\mathbb{R}^n\to \mathbb{R}是一个凸函数,如果gg是increasing的,则函数

h(x)=g(f(x))h(\bm x) = g(f(\bm x))

是一个凸函数。

如果改成decreasing,则变为concave function。

对于多元函数,有以下结论:

g:RmRg:\mathbb{R}^m\to \mathbb{R}是一个凸函数,且fi:RnR,i=1,2,,mf_i:\mathbb{R}^n\to \mathbb{R}, i=1,2,\cdots,mmm个凸/凹函数,如果在gg的每个变量上都是:(1)gfconvexg\uparrow\wedge f\,\text{convex}或者(2)gfconcaveg\downarrow\wedge f\,\text{concave}的,则函数

h(x)=g(f1(x),f2(x),,fm(x))h(\bm x) = g(f_1(\bm x), f_2(\bm x), \cdots, f_m(\bm x))

是一个凸函数。

Pointwise maximum

fi:RnR,i=1,2,,mf_i:\mathbb{R}^n\to \mathbb{R}, i=1,2,\cdots,mmm个凸函数,则函数

f(x)=max1imfi(x)f(\bm x) = \max_{1\leq i \leq m} f_i(\bm x)

是一个凸函数。

Pointwise supremum

A\mathcal A是一个非空集合,且对于每个αA\alpha\in \mathcal A,函数fα:RnRf_\alpha:\mathbb{R}^n\to \mathbb{R}是一个凸函数,则函数

f(x)=supαAfα(x)f(\bm x) = \sup_{\alpha\in \mathcal A} f_\alpha(\bm x)

是一个凸函数。

利用intersection of epigraphs is still convex。

Partial minimization

CRn×RmC\subseteq \mathbb{R}^n\times \mathbb{R}^m是一个凸集,且函数f:CRf:C\to \mathbb{R}是一个凸函数,则定义在集合

D={xRn:yRm,(x,y)C}D=\{\bm x\in \mathbb{R}^n: \exists \bm y\in \mathbb{R}^m, (\bm x, \bm y)\in C\}

上的函数

g(x)=inf{f(x,y):yRm,(x,y)C}g(\bm x) = \inf\{f(\bm x, \bm y): \bm y\in \mathbb{R}^m, (\bm x, \bm y)\in C\}

是一个凸函数。

证明:

首先有$$\forall \varepsilon > 0, \exists \bm y, f(\bm x, \bm y) < g(\bm x) + \varepsilon$$

对于x1,x2D\bm x_1,\bm x_2\in D

g(θx1+θx2)=inf{f(θx1+θx2,y):(x,y)C}f(θx1+θx2,θy1+θy2)θf(x1,y1)+θf(x2,y2)<θ(g(x1)+ε)+θ(g(x2)+ε)=θg(x1)+θg(x2)+2ε\begin{aligned} g(\theta \bm x_1 + \overline\theta \bm x_2) &= \inf\{f(\theta\bm x_1 + \overline\theta\bm x_2, \bm y):(\bm x,\bm y)\in C\} \\ &\leq f(\theta\bm x_1 + \overline\theta\bm x_2, \bm \theta\bm y_1 + \overline\theta\bm y_2) \\ &\leq \theta f(\bm x_1, \bm y_1) + \overline\theta f(\bm x_2, \bm y_2) \\ &< \theta (g(\bm x_1) + \varepsilon) + \overline\theta (g(\bm x_2) + \varepsilon) \\ &= \theta g(\bm x_1) + \overline\theta g(\bm x_2) + 2\varepsilon \\ \end{aligned}

由于ε\varepsilon是任意的,所以

g(θx1+θx2)θg(x1)+θg(x2)g(\theta \bm x_1 + \overline\theta \bm x_2) \leq \theta g(\bm x_1) + \overline\theta g(\bm x_2)

5_convopt

Optimization Problems in Standard Form

f:RnRf:\mathbb{R}^n\to \mathbb{R}是一个目标函数,gi:RnR,i=1,2,,mg_i:\mathbb{R}^n\to \mathbb{R}, i=1,2,\cdots,mmm个不等式约束函数,hj:RnR,j=1,2,,kh_j:\mathbb{R}^n\to \mathbb{R}, j=1,2,\cdots,kkk个等式约束函数,则优化问题的标准形式(standard form)定义为

minxRnf(x)s.t.gi(x)0,i=1,2,,mhj(x)=0,j=1,2,,k\begin{aligned} & \min_{\bm x\in \mathbb{R}^n} & & f(\bm x) \\ & \text{s.t.} & & g_i(\bm x) \leq 0, i=1,2,\cdots,m \\ & & & h_j(\bm x) = 0, j=1,2,\cdots,k \\ \end{aligned}

其中

  • x\bm x被称为决策变量(optimization/decision variable),
  • ff被称为目标函数(objective function),
  • 函数gi,i=1,2,,mg_i, i=1,2,\cdots,m被称为不等式约束(inequality constraint functions),
  • 函数hj,j=1,2,,kh_j, j=1,2,\cdots,k被称为等式约束(equality constraint functions)。

Optimal Value and Optimal Point

f=infxΩf(x)f^* = \inf_{\bm x\in\Omega} f(\bm x)被称为最优值(optimal value),其中Ω={xRn:gi(x)0,i=1,2,,m;hj(x)=0,j=1,2,,k}\Omega = \{\bm x\in \mathbb{R}^n: g_i(\bm x)\leq 0, i=1,2,\cdots,m; h_j(\bm x)=0, j=1,2,\cdots,k\}被称为可行域(feasible set)。如果Ω=\Omega = \emptyset,则称该优化问题为不可行的(infeasible),定义f=f^* = \infty;如果Ω\Omegaff无下界,则定义f=f^*=-\infty

如果存在xΩ\bm x^*\in \Omega,使得f(x)=ff(\bm x^*)=f^*,则称x\bm x^*最优点(optimal point)。如果f(x0)<f+ϵf(\bm x_0) < f^* + \epsilon,则称x0\bm x_0ϵ\epsilon-次最优点(ϵ\epsilon-suboptimal point)。如果xx^*解决了局部的优化问题(xx2<δ\|x-x^*\|_2 < \delta),则称x\bm x^*局部最优点(local optimal point)。

Convex Optimization Problem

如果f,gif, g_i都是凸函数,且hjh_j都是仿射函数,则称该优化问题为凸优化问题(convex optimization problem)。显然此时可行域为凸集。

凸优化问题的性质:

  1. 如果该问题有一个局部最优点,则该点也是全局最优点。
  2. 最优值点构成的集合是凸集。
  3. 如果ff是严格凸的,则最优点唯一(如果存在的话)。

First-order Optimality Condition

f:RnRf:\mathbb{R}^n\to \mathbb{R}是一个可微凸函数,xdomf\bm x^*\in \text{dom}f,则x\bm x^*ff的最优点的充分必要条件是对于任意的xdomf\bm x\in \text{dom}f,都有

f(x)T(xx)0\nabla f(\bm x^*)^T(\bm x - \bm x^*) \geq 0

证明:

充分性利用一阶线性条件显然得出;必要性利用凸性取极限即可得出(化为一元函数求导)。

  • 如果x\bm x^*是内点,则必然有f(x)=0\nabla f(\bm x^*) = \bm 0

Linear Program

线性规划问题(linear program, LP)定义为

minxRncTxs.t.BxdAx=b\begin{aligned} & \min_{\bm x\in \mathbb{R}^n} & & \bm c^T\bm x \\ & \text{s.t.} & & \bm{Bx} \leq \bm d \\ & & & \bm{Ax} = \bm b \end{aligned}

LP in Standard Form

线性规划问题的标准形式(standard form)定义为

minxRncTxs.t.x0Ax=b\begin{aligned} & \min_{\bm x\in \mathbb{R}^n} & & \bm c^T\bm x \\ & \text{s.t.} & & \bm x \geq \bm 0 \\ & & & \bm{Ax} = \bm b \end{aligned}

LP in Inequality Form

线性规划问题的不等式形式(inequality form)定义为

minxRncTxs.t.Bxd\begin{aligned} & \min_{\bm x\in \mathbb{R}^n} & & \bm c^T\bm x \\ & \text{s.t.} & & \bm{Bx} \leq \bm d \end{aligned}

Conversion

对于Standard Form,引入松弛变量ss就可以消除不等式,然后再将所有xx拆成正负两部分即可。

对于Inequality Form,先转化成Standard Form,然后把等式消掉(等式中某个变量用其他表示)。

LP问题如果有解一定有一个顶点解(Vertex Solution)。

Basic Solution

对于Standard Form的LP问题,设ARm×n\bm{A}\in \mathbb{R}^{m\times n}且满秩(mnm\leq n),则称满足Ax=b\bm{Ax}=\bm b且有nmn-m个分量为零的解xRn\bm x\in \mathbb{R}^n为该问题的基本解(basic solution)。

degenerate basic solution:如果基本解中有超过nmn-m个分量为零,则称该基本解为退化基本解(degenerate basic solution)。否则叫non-degenerate basic solution。

如果basic solution满足所有不等式约束,则称该基本解为基本可行解(basic feasible solution,BFS)。

假设对应非零分量的列向量组成的矩阵为B\bm{B},则有xB=B1b\bm x_B = \bm{B}^{-1}\bm b

Extreme Point

CRnC\subseteq \mathbb{R}^n是一个凸集,则称CC中的点x\bm xCC极点(extreme point),如果不存在x1,x2C,x1x2\bm x_1,\bm x_2\in C, \bm x_1\neq \bm x_2θ(0,1)\theta\in (0,1),使得

x=θx1+θˉx2\bm x = \theta \bm x_1 + \bar \theta \bm x_2

Ω={xRn:Ax=b,x0}\Omega = \{\bm x\in \mathbb{R}^n: \bm{Ax}=\bm b, \bm x\geq \bm 0\}为LP问题的可行域,则Ω\Omega的极点与该LP问题的基本可行解一一对应。

证明:

  1. 对于一个极点,假设它不是基本可行解,则有超过nmn-m个分量不为零,取对应的列向量组成的矩阵B\bm B,则B\bm B的列数超过行数,必然线性相关,存在d0\bm d\neq \bm 0使得Bd=0\bm{Bd}=\bm 0。则对于充分小的t>0t>0,都有x±tdΩ\bm x \pm t\bm d \in \Omega,从而得到矛盾。
  2. 对于一个基本可行解,假设它不是极点,则存在x1,x2Ω\bm x_1,\bm x_2\in \Omega,使得x=θx1+θˉx2\bm x = \theta \bm x_1 + \bar \theta \bm x_2,其中θ(0,1)\theta\in (0,1)。由于x1,x20\bm x_1, \bm x_2\geq \bm 0,所以x\bm x等于00的维度下x1,x2\bm x_1,\bm x_2也是00,剩下的维度由于B\bm B是可逆的,所以只有x\bm x一个解,也就得到了x1=x2=x\bm x_1 = \bm x_2 = \bm x,从而得到矛盾。

Fundamental Theorem of Linear Programming

如果LP问题(L)(L)存在一个feasible solution,则它一定有一个BFS;
如果LP问题(L)(L)存在一个optimal solution,则它一定有一个optimal BFS。

Simplex Method

我们有以下约束,并要使ff最小:

fcTx=0Ax=b\begin{aligned} f - \bm c^T\bm x &= 0\\ \bm A\bm x &= \bm b \\ \end{aligned}

可以写成矩阵形式:

(1cT0A)(fx)=(0b)\begin{pmatrix} 1 & -\bm c^T\\ 0 & \bm A\\ \end{pmatrix}\cdot \begin{pmatrix} f \\ \bm x \\ \end{pmatrix} = \begin{pmatrix} 0 \\ \bm b \\ \end{pmatrix}

然后咱们相当于就是可以对这个矩阵进行消消乐(增广了一行,左边增广的一列可以去掉,没用)。

每次选择一个basis,对于这个basis把对应的列都消成标准形式。

如果第一行的某一列是负的,就说明可以通过增加对应的变量来减小ff,所以选这个变量进basis。

总流程如下:

图片image

Two Phase Simplex Method

设LP问题(L)(L)的constraints为Ax=b,x0\bm{Ax}=\bm b, \bm x\geq \bm 0,则其Phase I问题(F)(F)定义为

minxRn,yRm1Tys.t.Ax+y=bx0,y0\begin{aligned} & \min_{\bm x\in \mathbb{R}^n, \bm y\in \mathbb{R}^m} & & \bm 1^T\bm y \\ & \text{s.t.} & & \bm{Ax} + \bm y = \bm b \\ & & & \bm x \geq \bm 0, \bm y \geq \bm 0 \\ \end{aligned}

Phase I的问题的BFS很简单,用(0,b)(0, \bm b)作为初始解即可。

如果Phase I的最优解能够找到一个使得y=0\bm y = \bm 0的解,则说明原问题是feasible的,然后利用这个解(x0,0)(x_0, 0)作为初始解去解决Phase II的问题,就可以了。

Quadratic Program (QP)

minx12xTQx+cTxs.t.BxdAx=b\begin{aligned} \min_{\bm x} & & \frac{1}{2}\bm x^T\bm Q\bm x + \bm c^T x\\ \text{s.t.} & & \bm B\bm x\leq \bm d\\ & & \bm A\bm x = \bm b \end{aligned}

如果Q0\bm Q\succeq \bm 0,则QP是凸的;如果Q=0\bm Q = \bm 0,则QP规约到LP。

Quadratic Constrained Quadratic Program (QCQP)

minx12xTQx+cTxs.t.12xTQix+ciTx+di0i=1,2,,mAx=b\begin{aligned} \min_{\bm x} & & \frac{1}{2}\bm x^T\bm Q\bm x + \bm c^T x & &\\ \text{s.t.} & & \frac{1}{2}\bm x^T\bm Q_i\bm x + \bm c^T_i \bm x + d_i \leq 0 & & i = 1, 2, \cdots, m\\ & & \bm A\bm x = \bm b & & \end{aligned}

如果i,Qi0Q0\forall i, \bm Q_i\succeq 0 \wedge \bm Q\succeq 0,则QCQP是凸的;如果i,Qi=0\forall i, \bm Q_i = \bm 0,则QCQP规约到QP。

Solution to Unconstrained QP

令$$f(\bm x) = \frac{1}{2}\bm x^T \bm Q\bm x + \bm c^T \bm x$$

可以得到$$\nabla f(\bm x^) = \bm Q \bm x^ + \bm c = 0$$

  1. QQ可逆,直接解得x=Q1c\bm x^* = -\bm Q^{-1} \bm c;
  2. QQ不可逆,且cRange(Q)\bm c\in \text{Range}(\bm Q),则有无穷多解;
  3. QQ不可逆,且cRange(Q)\bm c\notin\text{Range}(\bm Q),则无解,且f=f^*=-\infty

对于第三个情况,cRange(Q)    c⊥̸Null(QT)=Null(Q)\bm c\notin\text{Range}(\bm Q)\iff \bm c\not\perp\text{Null} (\bm Q^T) = \text{Null}(\bm Q),所以存在dNull(Q)\bm d\in \text{Null}(\bm Q)满足dTc0\bm d^T\bm c\neq 0,那么f(td)=12tdTQd+tcTd=tcTdf(t\bm d) = \frac{1}{2}t\bm d^T\bm Q\bm d + t\bm c^T\bm d = t\bm c^T\bm d,那么显然ff的取值可以任意。

Geometry Program

monomial (单项式):

f(x)=γx1a1x2a2xnan,xRnx>0γ>0f(\bm x) = \gamma x_1^{a_1}x_2^{a_2}\cdots x_n^{a_n}\,\,\,\,, \bm x\in \mathbb R^n\wedge \bm x > \bm 0\wedge \gamma > 0

posynomial (正项式):sum of monomials

f(x)=k=1pγkx1ak1x2ak2xnaknf(\bm x) = \sum_{k = 1}^p \gamma_k x_1^{a_{k1}}x_2^{a_{k2}}\cdots x_n^{a_{kn}}

Geometry Program (几何规划):

f(x),gi(x)are posynomials,hi(x)are monomialsf(\bm x), g_i(\bm x)\,\text{are posynomials},\,h_i(\bm x)\text{are monomials}

minxf(x)s.t.gi(x)1i=1,2,,mhi(x)=1i=1,2,,r\begin{aligned} & & \min_{\bm x} f(\bm x) \\ \text{s.t.} & & g_i(\bm x)\leq 1 & & i = 1, 2, \cdots, m \\ & & h_i(\bm x) = 1 & & i = 1, 2, \cdots, r\\ \end{aligned}

log\log之后可以化为log-sum-exp函数,是凸的,这也是为什么一定要x>0\bm x > \bm 0

6_gd

Descend Method

每次选一个方向(descent direction)dk\bm d_k,然后选一个步长(step size)tkt_k,更新为

xk+1=xk+tkdk\bm x_{k+1} = \bm x_k + t_k \bm d_k

Gradient Descent Method

f:RnRf:\mathbb{R}^n\to \mathbb{R}是一个可微函数,xkdomf\bm x_k\in \text{dom}f,则梯度下降法(gradient descent method)选择的下降方向为

dk=f(xk)\bm d_k = -\nabla f(\bm x_k)

Lipschitz Continuity

f:RnRf:\mathbb{R}^n\to \mathbb{R}是一个可微函数,若存在L>0L>0,使得对于任意的x1,x2domf\bm x_1,\bm x_2\in \text{dom}f,都有

f(x1)f(x2)Lx1x2\|\nabla f(\bm x_1) - \nabla f(\bm x_2)\| \leq L \|\bm x_1 - \bm x_2\|

则称ff的梯度在domf\text{dom}f上是Lipschitz连续的,LL被称为Lipschitz常数。

如果梯度LL连续,则称ffLsmoothL-smooth

Affine Continuity

f(x)=Ax+bf(\bm x) = \bm{Ax} + \bm b是Lipschitz连续的,Lipschitz常数为A\|\bm A\| = λmax2(A)\lambda_{\max{}}^2(\bm A)

证明:

f(x2)f(x1)=A(x2x1)=dTA2d(let d=x2x1)λmax2(A)dTd=Ax2x1\begin{aligned} \|f(\bm x_2) - f(\bm x_1)\| &= \|\bm A(\bm x_2 - \bm x_1)\| \\ &= \sqrt{\bm d^T\bm A^2\bm d} & (\text{let } \bm d = \bm x_2 - \bm x_1)\\ &\leq \sqrt{\lambda_{\max{}}^2(\bm A) \bm d^T\bm d} \\ &= \|\bm A\| \|\bm x_2 - \bm x_1\| \\ \end{aligned}

Second-order Condition for L-smooth

二阶连续可导凸函数f:RnRf:\mathbb{R}^n\to \mathbb{R}LsmoothL-smooth的充分必要条件是对于任意的xdomf\bm x\in \text{dom}f,都有

2f(x)LI\nabla^2 f(\bm x) \preceq L \bm I

二阶连续可导函数f:RnRf:\mathbb{R}^n\to \mathbb{R}LsmoothL-smooth的充分必要条件是对于任意的xdomf\bm x\in \text{dom}f,都有

LI2f(x)LI-L\bm I \preceq \nabla^2 f(\bm x) \preceq L \bm I

证明:作辅助函数g(x)=uTf(x)g(\bm x) = \bm u^T\nabla f(\bm x)。由$$-L\bm I \preceq \nabla^2 f(\bm x) \preceq L \bm I$$,g(x)=2f(x)u\nabla g(\bm x) = \nabla^2 f(\bm x)\bm u的范数不超过LuL\|\bm u\|。则$\bm u^T[\nabla f(\bm x) - \nabla f(\bm y)] = g(\bm x) - g(\bm y) = \nabla g(\bm {\xi})(\bm x - \bm y)\leq L|\bm u||\bm x - \bm y| 。另。另\bm u = \nabla f(\bm x) - \nabla f(\bm y)$即可。

另一方面,假设f(x)f(y)Lxy\|\nabla f(\bm x) - \nabla f(\bm y)\|\leq L\|\bm x - \bm y\|,则对于任意方向d\bm d,都有

f(x+td)f(x)Lx+tdx=Ltd\|\nabla f(\bm x + t\bm d) - \nabla f(\bm x)\| \leq L\|\bm x + t\bm d - \bm x\| = L|t|\|\bm d\|

t0t\to 0,则有

2f(x)dLd\|\nabla^2 f(\bm x)\bm d\| \leq L\|\bm d\|

LI2f(x)LI-L\bm I\preceq \nabla^2 f(\bm x) \preceq L\bm I

或者

证明2

f(x1)f(x2)=2f(ξ)(x1x2)Lx1x2\begin{aligned}\|\nabla f(\bm x_1) - \nabla f(\bm x_2)\| &= \|\nabla^2 f(\xi) (\bm x_1 - \bm x_2) \|\\ &\leq L\|\bm x_1 - \bm x_2\| \end{aligned}

Quadratic Upper Bound

如果ffLsmoothL-smooth的,则对于任意的x,ydomf\bm x, \bm y\in \text{dom}f,都有

f(y)f(x)+f(x)T(yx)+L2yx2f(\bm y) \leq f(\bm x) + \nabla f(\bm x)^T(\bm y - \bm x) + \frac{L}{2}\|\bm y - \bm x\|^2

先证明一维情形,再用d\bm d拓展到多维情形(利用泰勒展开和dTQdλmaxd2\bm d^T \bm Q\bm d\leq \left|\lambda\right|_{\max}\|\bm d\|^2容易证明)。

根据这个定理,我们可以证明gradient descent的收敛性。

Convergence of Gradient Descent

首先,{xk}\{\bm x_k\}满足以下条件:

f(xk+1)f(xk)t(1Lt2)f(xk)2f(\bm x_{k + 1}) \leq f(\bm x_k) - t(1 - \frac{Lt}{2})\|\nabla f(\bm x_k)\|^2

证明:观察定义式

xk+1=xktf(xk)\bm x_{k + 1} = \bm x_k - t\nabla f(\bm x_k)

f(xk+1)f(xk)f(xk)Ttf(xk)+L2tf(x)2=t(1Lt2)f(x)2f(\bm x_{k + 1}) - f(\bm x_k)\leq -\nabla f(\bm x_k)^T t\nabla f(\bm x_k) + \frac{L}{2} \|t\nabla f(\bm x)\|^2 = -t(1-\frac{Lt}{2})\|\nabla f(\bm x)\|^2

如果0<t<2L0 < t < \frac{2}{L},则上式右边大于00,所以f(xk)f(\bm x_k)单调递减。

如果ff是凸的且LsmoothL-smooth,选择t(0,1L]t\in(0, \frac{1}{L}],则有$$f(\bm x_k) - f(\bm x^*) \leq \frac{|\bm x_0 - \bm x*|2}{2tk}$$

对于连续情况可以证明如果约定

dxkdk=tf(xk)\frac{\mathrm d \bm x_k}{\mathrm d k} = -t\nabla f(\bm x_k)

那么不等式成立,证明主要步骤如下:

  1. 计算df(xk)dk\frac{\mathrm d f(\bm x_k)}{\mathrm d k}得出ff关于kk递减;
  2. 计算dxkx2dk\frac{\mathrm d \|\bm x_k - \bm x^*\|^2}{\mathrm d k},其中一次项使用凸性放缩;
  3. 00kk积分得到xkx2\|\bm x_k - \bm x^*\|^2的上界,从而化为答案式子。

过程中没有用到LL-smooth的条件,因为连续情况是无限细分的。

对于离散情况:

用类似方法证明,将求导改为差分,此时需要用tt的范围以及LL-smooth条件来约束xkxk+12\|\bm x_k - \bm x_{k + 1}\|^2的范围。

Strong Convexity

对于函数ff,如果对于m>0m > 0,函数f~(x)=f(x)m2x2\tilde f(\bm x) = f(\bm x) - \frac{m}{2}\|\bm x\|^2是凸的,则称ffmm-强凸函数mm-strongly convex function)。

First-order Condition for Strong Convexity

函数ffmm-强凸函数的充分必要条件是对于任意的x,ydomf\bm x, \bm y\in \text{dom}f,都有

f(y)f(x)+f(x)T(yx)+m2yx2f(\bm y) \geq f(\bm x) + \nabla f(\bm x)^T(\bm y - \bm x) + \frac{m}{2}\|\bm y - \bm x\|^2

注意,这里是充要条件,而LL-smooth那里是必要条件。

这里是\geqLL-smooth那里是\leq

证明:

f~(x)=f(x)m2x2\tilde f(\bm x) = f(\bm x) - \frac{m}{2}\|\bm x\|^2使用一阶充分必要条件即可。

Second-order Condition for Strong Convexity

二阶连续可导函数f:RnRf:\mathbb{R}^n\to \mathbb{R}mm-强凸函数的充分必要条件是对于任意的xdomf\bm x\in \text{dom}f,都有

2f(x)mI\nabla^2 f(\bm x) \succeq m \bm I

证明:

对于f~(x)=f(x)m2x2\tilde f(\bm x) = f(\bm x) - \frac{m}{2}\|\bm x\|^2使用二阶充分必要条件即得。

Bound on Suboptimality Gap

如果ffmm-strongly convex的,则有$$f(\bm x) - f(\bm x^*) \leq \frac{1}{2m}|\nabla f(\bm x)|^2$$

利用一次充分必要条件,左右同时对y\bm ymin\min即可。(注意是对y\bm y取最小值,而不是取x\bm x^*,此时右边实际上是二次函数取最小值)。

Convergence Analysis for Strongly Convex Functions

先分析连续情况,可以得到

x~Tx2emTx0x\|\bm{\tilde x_T} - \bm x^* \|^2\leq e^{-mT} \|\bm x_0 - \bm x^*\|

这里证明步骤如下:

  1. 求解df(xk)dk\frac{\mathrm d f(\bm x_k)}{\mathrm d k}得到递减;
  2. 计算dxkxdk\frac{\mathrm d \|\bm x_k - \bm x^*\|}{\mathrm d k},利用strongly convex条件(强于一阶线性条件)放缩,利用之前的递减关系得到dxkxdk\frac{\mathrm d \|\bm x_k - \bm x^*\|}{\mathrm d k}xkx\|\bm x_k - \bm x^*\|的不等式关系,可以放缩到指数函数(构造一个递减的函数emTxkxe^mT\|\bm x_k - \bm x^*\|)。

离散版:

如果ffmm-strongly convex且LL-smooth的,选择$t \in (0, \frac{1}{L}] ,则有,则有xkx2(1mt)kx0x2\|\bm x_k - \bm x^*\|^2 \leq \left(1 - mt\right)^k \|\bm x_0 - \bm x^*\|^2$

证明过程仿照连续情况,tt的范围有助于得到递减。

数值版:

f(xk+1)f(x)(1mt)k[f(x0)f(x)]f(\bm x_{k + 1}) - f(\bm x^*) \leq (1 - mt)^k[f(\bm x_0) - f(\bm x^*)]

证明:

{f(xk)f(xk+1)t(1Lt2)f(xk)2t2f(xk)2f(xk)f(x)12mf(xk)2\begin{cases} f(\bm x_{k}) - f(\bm x_{k + 1})\geq t(1 - \frac{Lt}{2})\|\nabla f(\bm x_k)\|^2\geq \frac{t}{2}\|\nabla f(\bm x_k)\|^2\\ f(\bm x_k) - f(\bm x^*)\leq \frac{1}{2m}\|\nabla f(\bm x_k)\|^2 \end{cases}

把中间梯度的平方消掉就好了。

Condition Number

对于可逆矩阵Q\bm Q,Condition Number定义为

κ(Q)=σmax(Q)σmin(Q)\kappa(\bm Q) = \frac{\sigma_{\max}(\bm Q)}{\sigma_{\min}(\bm Q)}

其中σ\sigma为奇异值,σ(A)=λ(ATA)\sigma(\bm A) = \sqrt{\lambda(\bm A^T\bm A)}

奇异值越小,Lm\frac{L}{m}就越小,收敛就越快(对于二次型函数而言,如果是一般函数,可视为局部性质)。

对于二次型,如果κ\kappa比较小,则well-conditioned,否则ill-conditioned。

观察gd的每一步

xk+1=xktkf(xk)\bm x_{k + 1} = \bm x_{k} - t_k\nabla f(\bm x_k)

注意到这里tkt_k的最优取值是tk=argmins{f(xksf(xk))}t_k = \arg\min_s\{f(\bm x_k - s\nabla f(\bm x_k))\},每次计算这个就是Exact Line Search。

但是这个显然不划算(对于不好计算的情况)。

可以证明如果ff同时满足mm-strongly convex和LL-smooth,则有

f(xk)f(x)(1mL)k[f(x0)f(x)]f(\bm x_k) - f(\bm x^*)\leq (1 - \frac{m}{L})^k[f(\bm x_0) - f(\bm x^*)]

证明

f(xktf(xk))f(xk)t(1Lt2)f(xk)2f(\bm x_{k} - t\nabla f(\bm x_k)) \leq f(\bm x_k) - t(1 - \frac{Lt}{2})\|\nabla f(\bm x_k)\|^2

两边同时对tt取最小值,可以得到

f(xk+1)f(xk)12Lf(xk)2f(\bm x_{k + 1}) \leq f(\bm x_k) - \frac{1}{2L}\|\nabla f(\bm x_k)\|^2

同时还有

f(xk)f(x)12mf(xk)2f(\bm x_k) - f(\bm x^*)\leq\frac{1}{2m} \|\nabla f(\bm x_k)\|^2

联立消掉就好了。

Armijo’s Rule:

f(x)f(xtf(x))αf(x)2f(\bm x) - f(\bm x - t\nabla f(\bm x))\geq \alpha \|\nabla f(\bm x)\|^2

每次先取ttt0t_0,然后每次tβt0t\leftarrow \beta t_0,减小tt直到满足条件。

由于tf(x)t\nabla f(\bm x)x\bm x的增量,那么在局部应该有近似的Δytf(x)Tf(x)\Delta y \approx - t\nabla f(\bm x)^T \nabla f(\bm x),所以说α,β(0,1)\alpha, \beta\in(0, 1)的时候应该会收敛。

收敛分析有空补上,也是指数级收敛(不管是外层迭代还是内部迭代)。

Nesterov’s Accelerated Gradient Descent (AGD)

图片image-1

这里可以把xk+1xk\bm x_{k + 1} - \bm x_k当作速度来理解,这样就是保留上一次速度的β\beta倍。

可以证明当m=0m=0时,普通GD的精度是O(1k)O(\frac{1}{k}),而AGD的精度是O(1k2)O(\frac{1}{k^2})

m>0m > 0时,令q=mLq = \frac{m}{L},则普通GD的精度是O((1q)k)O((1 - q)^k),AGD的精度是O((1q)k)O((1 - \sqrt q)^k)

Summary

梯度下降复杂度分析最核心的工具就是LL-smooth和mm-strongly convex。

LL-smooth的作用是限制了梯度变化的速率,让梯度在局部的变化不会太大,进而有步长为tf(xk)-t\nabla f(\bm x_k)时的上界(和步长乘以斜率成正比,也就是f(xk)2\|f(\bm x_k)\|^2);

mm-strongly convex是convex条件的升级版,让最值点到当前点的函数值差距缩小到了步长乘以当前点斜率,也就是f(xk)2\|f(\bm x_k)\|^2的某个倍数,同时指数级收敛创造了条件(因为strong convexity会保证这个函数比较弯)。

所以没有strong convexity,只能保证反比级收敛,而有了strong convexity就可以保证指数级收敛。

7_newton

Newton’s Method

对于中学学的牛顿迭代法(不断做切线,取和xx轴交点的横坐标,可以找到零点),做一点改动就可以成为Newton’s Method:

原始状态:

xk+1=xkf(xk)f(xk)x_{k + 1} = x_k - \frac{f(x_k)}{f'(x_k)}

现在我们把它拓展到多维。由于我们要解决凸优化问题,等价于解决f(x)=0\nabla f(\bm x) = 0这个问题,可以对f(x)\nabla f(\bm x)使用牛顿迭代法:

xk+1=xk2f(xk)1f(xk)\bm x_{k + 1} = \bm x_k - \nabla^2 f(\bm x_k)^{-1}\nabla f(\bm x_k)

实质上是把函数局部二次泰勒展开,并到达泰勒展开式的最低点。

Affine Invariance

Newton’s Method具有仿射不变性:

A\bm A是可逆矩阵,g(x)=f(Ax)g(\bm x) = f(\bm A\bm x)

可以求出

{g(x)=ATf(Ax)2g(x)=AT2f(Ax)A\begin{cases} \nabla g(\bm x) = \bm A^T \nabla f(\bm A\bm x) \\ \nabla^2 g(\bm x) = \bm A^T\nabla^2 f(\bm A\bm x) \bm A \\ \end{cases}

则对于gg的newton:

xk+1xk=2g(Ax)1g(Ax)=[A2f(Ax)A]1ATf(Ax)=A12f(Ax)1(AT)1ATf(Ax)=A12f(Ax)1f(Ax)\begin{aligned} \bm x_{k + 1} - \bm x_k &= - \nabla^2 g(\bm A\bm x)^{-1}\nabla g(\bm A\bm x) \\ &= [\bm A\nabla^2 f(\bm A\bm x)\bm A]^{-1}\bm A^T\nabla f(\bm A\bm x) \\ &= \bm A^{-1}\nabla^2 f(\bm A\bm x)^{-1}(\bm A^T)^{-1}\bm A^T\nabla f(\bm A\bm x)\\ &= \bm A^{-1} \nabla^2 f(\bm A\bm x)^{-1}\nabla f(\bm A\bm x) \end{aligned}

所以对于ffAx\bm A\bm x的newton和这个的步骤完全相同,具有仿射不变性。而梯度下降就没有这个性质(会多一个AAT\bm A\bm A^T)。

Analysis

有空补,结论是在某一个区域以平方级收敛(O(e02k)O(e_0^{2^k}))。

Damped Newton’s Method

牛顿的收敛域仅限optimal point周围,还是用Armijo法则进行约束:

f(xk)f(xk+1)αtf(xk)Tdf(\bm x_{k}) - f(\bm x_{k + 1}) \geq \alpha t \nabla f(\bm x_{k})^T \bm d

其中d=2f(xk)1f(xk)d = \nabla^2 f(\bm x_k)^{-1} \nabla f(\bm x_k)

tdt\bm d是理论方向,再乘一个f(xk)\nabla f(\bm x_k)就是理论的下降收益,α\alpha就是降低期望,只要达到理论的α\alpha倍就认为可以通过。

可以证明Damp只会发生在前几步,到Newton的可行域之后,就不会再使用Damp。

8_prox_gd

Proximal Gradient Descent

有些时候为了增强答案的稀疏性,我们引入一个保证凸性但不保证smooth的函数h(x)h(\bm x),让新的优化函数变为f(x)=g(x)+h(x)f(\bm x) = g(\bm x) + h(\bm x),对ff进行优化。这个时候我们不能直接用梯度下降(可能没有梯度),可以使用Peoximal Gradient Descent。

梯度下降的形式为

xk+1=xktf(xk)\bm x_{k + 1} = \bm x_k - t\nabla f(\bm x_k)

这个可以等价地写为(二次函数最小值):

xk+1=argminx{f(xk)+f(xk)T(xxk)+12tkxxk2}\bm x_{k + 1} = \arg\min_{\bm x} \{\bm f(\bm x_k) + \nabla f(\bm x_k)^T (\bm x - \bm x_k) + \frac{1}{2t_k}\|\bm x - \bm x_k\|^2\}

也就是:

xk+1=argminx12tkx(xktkf(xk))2\bm x_{k + 1} = \arg\min_{\bm x} \frac{1}{2t_k}\|\bm x - (\bm x_k - t_k\nabla f(\bm x_k) )\|^2

对于加了h(x)h(\bm x)的情况,可以写成

xk+1=argminx{12tkx(xktkf(xk))2+h(x)}\bm x_{k + 1} = \arg\min_{\bm x} \{\frac{1}{2t_k}\|\bm x - (\bm x_k - t_k\nabla f(\bm x_k) )\|^2 + h(\bm x)\}

也就是

xk+1=argminx{12x(xktkf(xk))2+tkh(x)}\bm x_{k + 1} = \arg\min_{\bm x} \{\frac{1}{2}\|\bm x - (\bm x_k - t_k\nabla f(\bm x_k) )\|^2 + t_kh(\bm x)\}

y=xktf(xk)\bm y = \bm x_k - t\nabla f(\bm x_k)

xk+1=proxtkh(y)=argminx{12xy2+tkh(x)}\bm x_{k + 1} = \operatorname{prox_{t_kh}}(\bm y) = \arg\min_{\bm x}\{\frac{1}{2}\|\bm x - \bm y\|^2 + t_k h(\bm x)\}

这又是一个凸优化问题,y\bm y已知而tkht_k h和二次函数都是凸函数。

Proximal Operator就是

proxh(y)=argminx{12xy2+h(x)}\operatorname{prox_{h}}(\bm y) = \arg\min_{\bm x}\{\frac{1}{2}\|\bm x - \bm y\|^2 + h(\bm x)\}

l1\mathcal{l}_1 regularization

对于每个维度分象限处理得到:

[proxλ1(y)]i=Sλ(yi)={yiλ,ifyi>λ0,ifyiλyi+λ,ifyi<λ[\operatorname{prox_{\lambda\|\cdot\|_1}}(\bm y)]_i = S_\lambda(y_i) = \begin{cases} y_i - \lambda, & \text{if} y_i > \lambda\\ 0, & \text{if} \left|y_i\right|\leq \lambda\\ y_i + \lambda, & \text{if} y_i < -\lambda \end{cases}

Lasso and ISTA

Lasso (Least Absolute Shrinkage and Selection Operator)的问题定义就是

minwF(w)=12Xwy22+λw1\min_{\bm w} F(\bm w) = \frac{1}{2}\|\bm X\bm w - \bm y\|_2^2 + \lambda\|\bm w\|_1

f(w)=XT(Xwy)\nabla f(\bm w) = \bm X^T(\bm X\bm w - \bm y)

根据计算,每次梯度下降都是

wk+1=Sλt(wktXT(Xwy))\bm w_{k + 1} = \bm S_{\lambda t}(\bm w_k - t\bm X^T(\bm X\bm w - \bm y))

这里的Sλt\bm S_{\lambda t}表示对每一行都进行SλtS_{\lambda t}的运算(注意这里必须有tt,根据前文推导)。

Convergence Analysis

先滚

9_lagrange

Problems with Affine Equality Constraints

AEC (Affine Equality Constraints)定义如下

minxf(x)s.t.Ax=b\begin{aligned} & & \min_{\bm x} f(\bm x)\\ \text{s.t.} & & \bm A\bm x = \bm b \end{aligned}

其中xRn\bm x\in\mathbb R^nbRk\bm b\in\mathbb R^k

首先可以看出来Null(A)\text{Null}(\bm A)是所有feasible direction的集合(因为任意解=Ax=0\bm A\bm x = \bm 0的解加上一个特解)。

AEC的解满足什么性质?

对于任意feasible direction v\bm v

f(x)Tv0\nabla f(\bm x^*)^T\bm v \geq 0

这个性质很好理解,否则就往v\bm v方向走,更优。

很明显vNull(A)-\bm v\in\text{Null}(\bm A),所以得到

f(x)Tv0\nabla f(\bm x^*)^T\bm v \leq 0

综合得到

f(x)Tv=0\nabla f(\bm x^*)^T\bm v = 0

Lagrange Condition

如果x\bm x^*是一个local minimum,那么存在λ\bm \lambda^*满足

f(x)+ATλ=0\nabla f(\bm x) + \bm A^T\bm \lambda^* = \bm 0

其中ARk×n\bm A\in\mathbb R^{k\times n},所以λRk\bm \lambda^*\in \mathbb R^{k}

证明

由于费马小定理(之前推出来的那个玩意),

f(x)Null(A)\nabla f(\bm x^*)\perp \text{Null}(\bm A)

所以说可以得到

f(x)Range(AT)\nabla f(\bm x^*)\in \text{Range}(\bm A^T)

所以说肯定存在λ\bm \lambda^*

定义Lagrangian (Lagrange Function)

L(x,λ)=f(x)+λT(Axb)\mathcal L(\bm x, \bm \lambda) = f(\bm x) + \bm \lambda^T(\bm A\bm x - \bm b)

得到这个函数的KKT equations

xL(x,λ)=f(x)+ATλλL(x,λ)=Axb\begin{aligned}\nabla_{\bm x} \mathcal L(\bm x^*, \bm \lambda^*) &= \nabla f(\bm x^*) + \bm A^T\bm \lambda^*\\ \nabla_{\bm \lambda}\mathcal L(\bm x^*, \bm \lambda^*) &= \bm A\bm x^* - \bm b\\ \end{aligned}

注意到满足这两个条件刚好就满足了之前的说法。

这个函数刚好又没了constraints。

Problems with General Equality Constraints

对于问题

minxf(x)s.t.hi(x)=0i=1,2,,k\begin{aligned} & &\min_{\bm x} f(\bm x) \\ \text{s.t.}& & h_i(\bm x) = 0 && i = 1, 2, \cdots, k \\ \end{aligned}

并且保证ffhh都是differentiable。

有类似的结论,所以我们作

L(x,λ)=f(x)+λTh(x)\mathcal L(\bm x, \bm \lambda) = f(\bm x) + \bm \lambda^T \bm h(\bm x)

其中h(x)\bm h(\bm x)就是把前面的hih_i打包。

10_kkt

对于问题

minxf(x)s.t.hi(x)=0i=1,2,,kgi(x)0i=1,2,,m\begin{aligned} & &\min_{\bm x} f(\bm x) \\ \text{s.t.}& & h_i(\bm x) = 0 && i = 1, 2, \cdots, k \\ &&g_i(\bm x) \leq 0 && i = 1, 2, \cdots, m\\ \end{aligned}

可以构造Lagrangian

L(x,λ,μ)=f(x)+λTh(x)+μTg(x)\mathcal L(\bm x, \bm \lambda, \bm \mu) = f(\bm x) + \bm \lambda^T \bm h(\bm x) + \bm \mu^T\bm g(\bm x)

其中保证μ0\bm \mu\geq \bm 0,这保证了g(x)0\bm g(\bm x)\leq \bm 0

regular定义;

所有有用的条件的导数independent.

KKT条件在h\bm h是affine的,g\bm g是凸的情况下是充分的,但不是必要的(可能会有退化的点)。

11_proj_gd

对于凸集上的凸优化问题,每次gradient descent之后,再使用投影法把它投影到这个凸集上(这也是一个优化问题)。

内层问题可以规约到proximal gradient descent(加上一个IΩ(x)={0ifxΩifxΩI_{\Omega}(\bm x) = \begin{cases}0 & \text{if}\, \bm x\in\Omega\\ \infty & \text{if}\,\bm x\notin\Omega\end{cases}),这样就是无限制的。

12_newton_eq

对于有affine等式约束的QP问题,可以写成

minx12xTQx+gTx+cs.t.Ax=b\begin{aligned} \min_{\bm x} && \frac{1}{2}\bm x^T\bm Q\bm x + \bm g^T\bm x + c \\ \text{s.t.} && \bm A\bm x = \bm b \\ \end{aligned}

可以写出KKT condition:

{Qx+g+ATλ=0Axb=0\begin{cases} \bm Q\bm x + \bm g + \bm A^T\bm \lambda = \bm 0 \\ \bm A\bm x - \bm b = \bm 0 \\ \end{cases}

回顾newton法,每次找到函数的二次泰勒展开的最小值,对于以下优化问题:

minxf(x)s.t.Ax=b\begin{aligned} \min_{\bm x} && f(\bm x) \\ \text{s.t.} && \bm A\bm x = \bm b \\ \end{aligned}

这个问题的KKT conditions:

{f(xk)+ATλ=0Av=0\begin{cases} \nabla f(\bm x_k) + \bm A^T\bm \lambda = \bm 0 \\ \bm A\bm v = \bm 0 \\ \end{cases}

那么每次newton想要找到一个v\bm v是以下优化问题的解:

minxf^(xk+v)=f(xk)+f(xk)Tv+12vT2f(xk)vs.t.Av=0\begin{aligned} \min_{\bm x} &&\hat f(\bm x_k + \bm v) = f(\bm x_k) + \nabla f(\bm x_k)^T \bm v + \frac{1}{2}\bm v^T\nabla^2 f(\bm x_k)\bm v\\ \text{s.t.} && \bm A\bm v = \bm 0 \end{aligned}

写出KKT就是

{2f(xk)v+f(xk)+ATλ=0Av=0\begin{cases} \nabla^2 f(\bm x_k)\bm v + \nabla f(\bm x_k) + \bm A^T\bm \lambda = \bm 0 \\ \bm A\bm v = \bm 0 \\ \end{cases}

也可以写成

(2f(xk)ATA0)(vλ)=(f(xk)0)\begin{pmatrix}\nabla^2 f(\bm x_k) & \bm A^T\\ \bm A & 0\end{pmatrix} \begin{pmatrix} \bm v\\ \bm \lambda \end{pmatrix} = \begin{pmatrix} -\nabla f(\bm x_k)\\ 0 \end{pmatrix}

假设左边这个KKT矩阵可逆,那么有唯一解。

首先可以证明v=0    x=x\bm v = \bm 0\iff \bm x = \bm x^*,联立两个KKT就可以证明2f(xk)v=0\nabla^2 f(\bm x_k)\bm v=\bm 0,说明v\bm v同时是2f\nabla^2 fA\bm ANull\text{Null}里面的,根据满秩,v=0\bm v = \bm 0

在KKT矩阵可逆的情况下,每次解出v\bm v,并向v\bm v方向下降就好了。

也可以结合阻尼newton方法来保证收敛。

v\bm v的方向一定是下降的,因为:

ddtf(xk+tv)t=0=f(xk)Tv=(2f(xk)vATλ)Tv=vT2f(xk)vλTAv=vT2f(xk)v<0\begin{aligned}&\frac{\mathrm d }{\mathrm d t} f(\bm x_k + t\bm v)\mid_{t = 0}\\ =&\nabla f(\bm x_k)^T\bm v\\ =&(-\nabla^2 f(\bm x_k)\bm v - \bm A^T\bm \lambda)^T\bm v\\ =&-\bm v^T\nabla^2 f(\bm x_k)\bm v - \bm \lambda^T\bm A\bm v\\ =& -\bm v^T\nabla^2 f(\bm x_k)\bm v < 0 \end{aligned}

因为2f(xk)\nabla^2 f(\bm x_k)在等式约束下是正定的(唯一最优解)。

有些时候一开始就不是feasible的,这个时候可以对整个Lagrange函数的梯度进行newton迭代。

13_barrier

对于一般凸优化问题

minxf(x)s.t.Ax=bg(x)0\begin{aligned}\min_{\bm x} && f(\bm x)\\ \text{s.t.} && \bm A\bm x = \bm b\\ && \bm g(\bm x)\leq 0 \end{aligned}

我们可以构造一个barrier函数

B(x)=i=1mlog(gi(x))B(\bm x) = \sum_{i =1}^m -\log\left(-g_i(\bm x)\right)

这玩意是个凸函数,我们现在求解这个问题

minxf(x)+1τB(x)s.t.Ax=b\begin{aligned} \min_{\bm x} && f(\bm x) + \frac{1}{\tau}B(\bm x)\\ \text{s.t.}&& \bm A\bm x =\bm b \end{aligned}

14_dual_LP

对于一个线性规划问题

minxcTxs.t.Ax=bGxh\begin{aligned} \min_{\bm x} && \bm c^T\bm x\\ \text{s.t.} && \bm A\bm x = \bm b\\ &&\bm G\bm x\geq \bm h \end{aligned}

我们引入Lagrange Multipliers μ\bm \muλ\bm \lambda,可以得到

λT(Ax)+μT(Gx)λTb+μTh\begin{aligned} &\bm\lambda^T (\bm A\bm x) + \bm\mu^T(\bm G\bm x)\\ \geq& \bm \lambda^T\bm b + \bm\mu^T\bm h \end{aligned}

如果能找到λ,μ\bm \lambda, \bm \mu满足ATλ+GTμ=c\bm A^T\bm \lambda + \bm G^T\bm \mu = \bm c,则可以写出如下LP问题

maxλ,μbTλ+hTμs.t.ATλ+GTμ=cμ0\begin{aligned} \max_{\bm \lambda, \bm\mu} && \bm b^T\bm\lambda + \bm h^T\bm \mu\\ \text{s.t.} && \bm A^T\bm\lambda + \bm G^T\bm \mu = \bm c\\ && \bm \mu\geq \bm 0\\ \end{aligned}

Weak Duality

primal problem的最优解\geq dual problem的最优解。

根据定义就可以看出来是成立的。

Strong Duality

两个最优解相等。

这个不一定成立,但是在LP问题限制下是一定成立的。

15_dual_gen

Lagrange Dual Function

对于凸优化问题

minxf(x)s.t.h(x)=Axb=0g(x)0\begin{aligned} \min_{\bm x} && f(\bm x)\\ \text{s.t.}&& \bm h(\bm x) = \bm A\bm x -\bm b = \bm 0\\ &&\bm g(\bm x) \leq \bm 0 \end{aligned}

构造该问题的Lagrange函数:

L(x,λ,μ)=f(x)+λTh(x)+μTg(x)\mathcal L(\bm x, \bm \lambda, \bm \mu) = f(\bm x) + \bm\lambda^T \bm h(\bm x) + \bm\mu^T\bm g(\bm x)

函数的定义域是xD,λRk,μR+m\bm x\in D, \bm \lambda\in\mathbb R^k, \bm\mu\in\mathbb R^m_+

x\bm x求下界,则

ϕ(λ,μ)=infxDL(x,λ,μ)\phi(\bm\lambda, \bm\mu) = \inf_{\bm x\in D} \mathcal L(\bm x, \bm\lambda, \bm \mu)

得到对偶问题

maxμ,λϕ(λ,μ)s.t.μ0\begin{aligned} \max_{\bm \mu, \bm \lambda} && \phi(\bm\lambda, \bm\mu) \\ \text{s.t.} && \bm\mu\geq\bm 0\end{aligned}

Concavity

即使ff不是convex的,ϕ\phi还是concave的。

Weak and Strong duality

首先是Weak duality(fϕf^*\geq \phi^*):

f=infxDf(x)infxDL(x,λ,μ)=f(x)+λTh(x)(=0)+μTg(x)(0)infxL(x,λ,μ)=ϕ(λ,μ)\begin{aligned} f^* &= \inf_{\bm x\in D} f(\bm x)\\ &\geq\inf_{\bm x\in D} \mathcal L(\bm x, \bm \lambda, \bm \mu) = f(\bm x) + \underset{(=0)}{\bm\lambda^T\bm h(\bm x)} + \underset{(\leq 0)}{\bm\mu^T\bm g(\bm x)}\\ &\geq\inf_{\bm x} \mathcal L(\bm x, \bm \lambda, \bm \mu)\\ &= \phi(\bm\lambda, \bm\mu) \end{aligned}

这里的ϕ\phiRn\mathbb R^n取了最小值,但是定义里是对DD取的,不过应该不影响结论。

Strong duality:f=ϕf^*=\phi^*,可以用slater条件判断。

Duality Gap

对于非凸的primal问题可能存在duality gap:$$f^* - \phi^*$$

Slater’s Condition

对于凸的原问题,如果存在一个点x\bm x,使得所有gi(x)g_i(\bm x)不等式条件都不取等地满足,且hj(x)h_j(\bm x)的等式条件全部满足,则一定有$$f^* = \phi^*$$

对于affine的条件gig_i,只满足gi(x)0g_i(\bm x)\leq 0也是可以的。

KKT condition for convex problems

假设原问题是凸优化问题。

KKT条件对于一组点(x,λ,μ)(\bm x, \bm \lambda, \bm \mu)满足当且仅当:

  1. strong duality holds,也就是f=ϕf^* = \phi^*
  2. x\bm x^*ff的最优值点;
  3. (λ,μ)(\bm \lambda, \bm \mu)ϕ\phi的最优值点。

凸优化问题总结

一般凸优化问题

h(x)=0\bm h(\bm x)=0的等式约束和g(x)0\bm g(\bm x)\leq 0的不等式约束下,最小化f(x)f(\bm x),其中f,gf,\bm g是凸函数,h\bm h是仿射函数。

LP

g\bm gff都退化为仿射函数时,问题退化为

minxf(x)=cTxs.t.Ax=bBxd\begin{aligned} &&\min_{\bm x} f(\bm x) = \bm c^T \bm x\\ \text{s.t.} && \bm A\bm x = \bm b\\ && \bm B\bm x\leq \bm d \end{aligned}

引入松弛变量,使Bx+s=d\bm B\bm x + \bm s = \bm d,并将所有xix_i拆成xi+xix_i^+-x_i^-可以化为Standard form

minxf(x)=cTxs.t.Ax=bx0\begin{aligned} &&\min_{\bm x} f(\bm x) = \bm c^T \bm x\\ \text{s.t.} && \bm A\bm x = \bm b\\ && \bm x\geq \bm 0 \end{aligned}

或者把等式条件消掉,变成Inequality form

minxf(x)=cTxs.t.Bxd\begin{aligned} &&\min_{\bm x} f(\bm x) = \bm c^T \bm x\\ \text{s.t.} && \bm B\bm x\leq \bm d \end{aligned}

接下来只研究Standard form。

然后引入BFS和Simplex method:

BFS是基本可行解,假设有mm行constraints,则BFS起码有nmn-m行为00

如果存在最优解,一定存在和最优解一样的BFS。

Simplex method在一开始找到BFS的情况下,不停地找到更优的BFS。

如果发现每一列的第一行都大于等于00了,说明已经找到最优解;否则向一个可行方向优化。

如果出现循环问题,用Bland法则判定。

如果有多个可以下降,选最左边的;如果多个比例最小的,选编号最小的。

如果一开始的BFS不容易得到,先强行加入松弛变量Ax+s=b\bm A\bm x + \bm s = \bm b,此时BFS为s=b\bm s = \bm b,然后确认是否存在BFS。