Introduction
一个凸优化问题具有以下基本形式:
x∈Dminf(x)subject togi(x)≤0, i=1,...,mhj(x)=0, j=1,...,r
其中,f和gi都是凸函数的,且hj是仿射变换。凸优化问题有一个良好的性质,即对于一个凸优化问题来说,任何局部最小值都是全局最小值。凸优化问题是优化问题中被研究得比较成熟的,也是非凸优化的基础,许多非凸优化问题也被局部近似为凸优化问题求解。

凸集和凸函数
凸集
凸集的定义
一个集合c⊆Rn是凸集,如果对任意x,y∈C都有
tx+(1−t)y∈C, for all 0≤t≤1
许多常见的集合,如空集,点、线集合,仿射空间{x:Ax=b, for given A,b}都属于凸集。正因如此,对于凸集中的变量做仿射变换得到的仍然是凸集。
凸函数
凸函数的定义
如果函数f: Rn→R是凸函数,那么函数的定义域dom(f)⊆Rn是凸的,且对于所有x,y∈dom(f),都有
f(tx+(1−t)y)≤tf(x)+(1−t)f(y), for 0≤t≤1
换句话说,函数永远不会高于f(x)和f(y)两点连线。

在凸函数中有两种比较重要的特例:
- 严格凸函数(strictly convex):把上述公式的≤变为<,即函数永远低于f(x)和f(y)两点连线,把线性情况给排除了。
- 强凸函数(strongly convex):即f至少与二次函数一样凸,其最高阶数不小于2.
强凸意味着严格凸,他们都是凸函数的子集,他们的关系为:
strongly convex⊂strictly convex⊂convex
一些常见的函数如,指数函数,仿射函数,以及常用的范数和最大值函数等,都是凸函数。
凸函数的性质
从凸函数的定义我们可以得到两个性质:
-
一阶特性:如果f是可微的,那么f是凸函数,当且仅当dom(f)是凸的,且对于所有x,y∈dom(f),都有
f(y)≥f(x)+∇f(x)T(y−x) 因此对于一个可微的凸函数来说,∇f(x)=0⇔x minimizesf。
-
二阶特性:如果f是二次可微的,那么f是凸函数,当且仅当dom(f)是凸的,且对于所有x∈dom(f)都有∇2f(x)≥0。
其次我们还能得到詹森不等式(Jensen’s inequality):如果f是凸的,且X是定义在dom(f)上的一个随机变量,那么有f(E[X])≤E[f(x)]。
凸优化问题
前面我们给出了凸优化问题的定义,这里我们讨论凸优化问题的一些性质。
解集
令Xopt为一个给定凸优化问题的所有解的集合,其可以写为:
Xopt=argx∈Dminf(x)
subject togi(x)≤0, i=1,...,m
Ax=b
则Xopt为凸集。
若f为严格凸函数,那么解是唯一的,即Xopt只包含一个元素。
一阶最优化条件
对于一个凸优化问题
xminf(x) subject to x∈C
且f可微,一个可行点是最优的,当
∇f(x)T(y−x)≥0
换句话说,从当前点x起的所有可行方向都与梯度方向对齐。当最优化问题是无约束时,该条件简化为∇f(x)=0。
凸优化问题的层次
凸优化问题有许多分支,常见的有线性规划(linear programs, LPs),二次规划(qudaratic programs, QPs),半定规划(semidefinite programs, SDPs),锥规划(cone programs, CPs)。他们的关系为:
LPs⊂QPs⊂SDPs⊂CPs⊂Convex Programs
典型的凸优化问题
线性规划
线性规划是最典型的一类凸优化问题,其基本形式为:
xmincTxsubject toDx≤dAx=b
许多解决线性规划的方法是单纯形法和内点法。压缩感知中的基追踪算法就是线性规划问题。
例子:基追踪
给定y∈Rn和X∈Rn×p,其中p>n。对于一个欠定线性系统Xβ=y,我们想要找到其最稀疏的解,其可以表达为非凸优化形式:
βmin∥β∥0subject toXβ=y
其中,∥β∥0=∑j=1p1{βj=0},为β的零阶范数(l0 norm)。
由于该问题是非凸的,我们可以对其做凸松弛,即进行l1 norm近似,常常称为基追踪:
βmin∥β∥1subject toXβ=y
基追踪是一个线性规划问题,可以将其变为基本形式:
β,zmin1Tzsubject toz≥βz≥−βXβ=y
二次规划
二次规划的基本形式为:
xmin cTx+21xTQxsubject toDx≤dAx=b
其中,Q⪰0,即为正定的。
例子:支持向量机(SVM)
给定y∈{−1,1}n,X∈Rn×p有行向量x1,...,xn,则支持向量机问题定义为:
β,β0,ξminsubject to21∥β∥22+Ci=1∑nξiξi≥0, i=1,...,nyi(xiTβ+β0)≥1−ξi, i=1,...,n
例子:lasso
给定y∈Rn,X∈Rn×p,则lasso问题定义为:
βmin∥y−Xβ∥22subject to∥β∥1≤s
其中,s≥0是一个可调参数。
将约束条件作为惩罚项加入到目标函数中可变形为:
βmin∥y−Xβ∥22+λ∥β∥1
这两种形式是等价的。
参考资料
CMU:Convex Optimization