基本概念:凸集、凸函数、凸优化问题
凸集
definition
x,y∈C⊆Rn→∀0≤t≤1,tx+(1−t)y∈C
x,y是任取的某一特定对。
凸组合构成凸包
∀x1,...,xk∈C,C′=∑i=1kθixk with θi≥0 and ∑i=1kθi=1。C′构成凸包convex hull,即所有点凸组合构成的集合。凸包也是包含非凸区域的最小凸区域。
常见的凸集类型如下
- Norm ball: {x:∣∣x∣∣≤r}
- 椭球:{x:(x−xc)TP−1(x−xc)≤1},P是对称正定阵
- Hyperplane: {x:aTx=b}, a是平面法向量
- Halfspace: {x:aTx≤b}
- Affine space: {x:Ax=b}
- polyhedron: {x:Ax≤b} 若干平面方程的交集,如果是Ax≤b,Cx=d也是多边形,因为Cx=d可以转化成Cx≤d,−Cx≤−d,然后和前面合并在一起即可。
- simplex: 特殊的多边形,可以组成是不同维度空间中的complex(复形),一个经典的单纯形是概率单纯形,即n个元素,非负且和为0。
- cone: x∈C→tx∈C∀t≥0
- convex cone: x1,x2∈C→t1x1+t2x2∈C∀t1,t2≥0
- conic combination: x1,...,xk∈Rn,C′=∑i=1kθkxk,θi≥0
- norm cone: {(x,t):∣∣x∣∣≤t},想象一个圆锥,每固定一个t就形成一个圆面。
- normal cone: NC(x)={g:gTx≥gTy,∀y∈C},x∈C,这里C不一定是凸集也ok
- positive semidefinite cone: Sn+,表示所有n阶半正定对称方阵。这是一个convex cone,可以自行验证
性质
- separating hyperplane theorem:两个不相交的convex set存在一个超平面划分
- Supporting hyperplane theorem:非空凸集存在支撑。啥叫支撑?就是说对于一个边界上的点x0∈C,一定存在一个向量a,满足∀x∈C,aTx≤aTx0
凸集操作
- 求交集保凸性
- 线性变换aX+b保凸,这里a和b都是实数
- affine保凸,Ax+b,这里A是矩阵,b是向量。并且如果A可逆,那么像凸则原像也是凸的
- 数字除法保凸,cTx+dAx+b也保凸。
第三个性质有个很妙的题目:如何证明下面的矩阵不等式的解集是凸集?
x1A1+...+xkAk≤B,A和B都是n阶方阵。不等号表示正定性。
一个naive的方法是直接用定义去证明。还有一个更骚的,构造f(x)=B−∑kxkAk,他的输入是不等式的解,输出是一个n阶正定阵,那么这是一个affine变换,并且像是正定方阵是convex cone,肯定是凸的,所以原像也是凸的。
凸函数
definition
f:Rn→R,s.t.∀x,y∈dom(f),∀0≤t≤1,f(tx+(1−t)y)≤tf(x)+(1−t)f(y)
Jessen不等式,下凸
严格凸:等号取不到。但是注意,这个只能说等号取不到是严格凸,反过来不成立,比如x4严格凸,但是在0处二阶导为0。对于二次型,严格凸和矩阵正定是等价的。
强凸:m>0,f−2m∣∣x∣∣22是凸的,即至少和二次函数一样凸
凸函数有个好处,如果我们让dom之外的部分取值都是∞,那它还是凸的,这样我们其实直接延拓一个新的函数即不需要再考虑定义域。
案例
- 二次型xTQx+bTx+c,Q半正定时为凸
- square error: (y−Ax)T(y−Ax),就是二次型,对应的Q=ATA始终半正定
- norm函数∣∣x∣∣p=(∑xp)1/p
- max函数
- 支撑函数:IC∗(x)=maxy∈CxTy
- logdet(X),在正定对称阵上是凹函数。
- 几何平均:(∏ixip)1/p是凹函数
性质
- 凸函数等价于他的epigraph是凸的:epi(f)={(x,t)∈dom(f)×R:f(x)≤t}
这里其实是把凸函数看作是一个集合的边界。相应的概念叫hypo(f)={(x,t)∈dom(f)×R:f(x)≥t}

几何解释
一个凸函数f(x),如果一阶可微,那么f(y)≥f(x)+∇Tf(x)(y−x),而他的epigraph为t≥f(y),因此,(y,t)满足t≥f(y)≥f(x)+∇Tf(x)(y−x)。这个东西可以转化成[∇f(x),−1]([y,t]T−[x,f(x)]T)≤0。这说明,在f(x)上任取x处的超平面支撑了epigraph。

- 凸函数则sublevel sets是凸的:{x∈dom(f):f≤t},∀t∈R (反过来不成立,−ex)
- 如果一阶可微,那么f是凸的等价于dom(f)凸且f(y)≥f(x)+∇f(x)T(y−x),∀x,y(切线在下)
- 如果2阶可微,那么f是凸的等价于dom(f)凸且∇2f(x)≥0,这里不等号表示半正定
Schur补条件:考虑一个n阶对称阵,如果可以分块2x2[[A,B],[BT,D]]并且det(A)=0,对角线上的两个阵是方阵,那么Schur补就是S=D−BTA−1B。X正定等价于S和A正定。并且det(X)=det(A)det(S)
保凸操作
- 一些列凸函数的非负线性组合
- 对一系列凸函数取最大值
- 偏最小值,g(x,y)是凸的,f(x)=miny∈Cg(x,y)是凸函数。
- affine保凸:f是convex,f(Ax+b)是凸的
- 复合变换:利用链式求二阶导判断正负。
- log-sum-exp:g(x)=log(∑i=1keaiTx+bi),softmax
共轭函数
定义
对于函数f(x),其共轭函数为f∗(y)=supx∈dom(f)(yTx−f(x))。
在x是实数的时候很容易理解

显然,共轭函数是凸函数,因为相当于有一系列关于y的函数,从里面找最大。而每一个关于y的函数都是y的凸函数。这和f(x)其实没有关系。
这个定义也要求了,y的取值必须保证上确界存在。比如对于一次函数f(x)=ax+b,那么很明显,其共轭函数f∗(y)=maxx∈R{(y−a)x−b},这个要想有界,y只能取a。
性质
- 1 Fenchel不等式:f(x)+f∗(y)≥xTy
- 2 f是凸函数且避函数(epigraph是闭的), f∗∗=f
- 3 变换g(x)=af(x)+b,则g∗(y)=af∗(y/a)−b
- 4 变换g(x)=f(Ax+b)A是可逆方阵,g∗(y)=f∗(A−Ty)−bTA−Ty
- 5 g(u,v)=f1(x)+f2(y),那么g∗(w,z)=f1∗(w)+f2∗(z)
拟凸函数
比凸函数更弱的函数,可以不凸,但是凹的程度没那么大。
定义
定义域内的所有下水平集都是凸集。如果上水平集都是凸集,那么是拟凹函数。(比如logx,同时是拟凸和拟凹的)
比如实属函数的一个拟凸函数如下图

如果这个函数凹的程度再厉害一点,那么下水平集就可能是两段区间,这样就不是凸集了。
性质
- f(θx+(1−θ)y)≤max{f(x),f(y)}
- R上的连续函数,要么非增、要么非减、要么存在一个点c,左侧非增,右侧非减(单峰特性)
- 如果可微,那么拟凸的充要条件是定义域凸且∀x,y:f(y)≤f(x)⇒∇f(x)T(y−x)≤0
相当于定义了下水平集的一个支撑超平面
- 如果二次可微,yT∇f(x)=0⇒yT∇2f(x)y≥0
R上的函数更直观,即一阶导为0的点,二阶导非负。
保拟凸运算
- 一系列拟凸函数的非负加权后,求最大
- 拟凸函数的复合函数是拟凸的
- f(x,y)是联合拟凸函数,C是凸集,那么g(x)=infy∈Cf(x,y)是拟凸函数。
转换表示
对于拟凸函数的下水平集,可以用一个凸函数的0不等式表示即
f(x)≤t⇔ϕt(x)≤0
最naive的方法是indicator,在下水平集内取0,否则取1。因为拟凸函数保证了定义域是凸的,所以显然。但是不naive的需要结合函数特点来设计。
对数凸函数
- def:logf是凸函数
- 性质f(θx+(1−θ)y)≥f(x)θf(y)1−θ
凸优化问题
definition
x∈Dminf(x)s.t.gi(x)≤0(i=1,2,...,m)hj(x)=0(j=1,2,...,p)
D是公共定义域,f和g是凸函数,h是affine的,h(x)=wTx+b
相当于优化问题统一取最小化问题,限制条件可以是若干不等条件和等于条件,不等条件统一取小于等于。
凸最小化问题等价于一个凹最大化问题,都叫凸优化。
可以重新写成没有constraint的版本,就是目标中增加一个Indicator,在定义域内是0,否则无穷大。
性质
- 这类问题的好处是局部最优就是全局最优。
- 最优解集合为凸集
- f是严格凸那么解唯一
- 如果一阶可微,那么x是最优解等价于∇f(x)(y−x)≥0,相当于x处负梯度法向量的超平面构成对可行集的支撑。
问题变换
- partial optimization
可以把一个问题的决策变量,分别求最小,这是由于凸函数的保凸操作3保证的。因此可以先求一个变量的最小,再将其固定求另外一个。
- 目标转换
如果一个函数是单调增的,那么套一个重新求最小化,或者把原有的单调增函数去掉。这些变换可以应用于优化目标和constraint
- 变量映射
一一映射并且像包含可行域,那么minxf(x),x∈C等价于minyf(ϕ(y)),ϕ(y)∈C
比如几何优化就是非凸的
所谓几何优化是指优化目标和constraint都是posynomials的(∑i=1pγkx1α1x2α2...xnαn这种形式),γ>0,gi(x)≤1,hi(x)=1。
但是如果令yi=logxi,γ=eb,那xi=eyi,带回原式可得f(x)=eaTy+b,这就是凸了。
- 去除不等约束
对于gi(x)≤0,引入si≥0,且gi(x)+si=0,注意只有giaffine的时候才是convex的。
- 增加等式约束
把原来的变量,配凑成一个新的形式z=ϕ(x)成为等式约束,然后把原始公式里配凑出来的ϕ(x)变成z。
- 松弛等于约束
对于gi(x)=0但gi不是affine的情况,可以松弛为gi(x)≤0,这样可行域会变大,求完了还得验证分析。
拟凸优化
目标函数从凸函数变成了拟凸函数。这样传统的一阶最优充要条件∇f(x)T(y−x)≥0∀y是不对的,但是我们有一个类似的充分条件:∇f(x)T(y−x)>0 ∀y∈X−{x}
实际求解,可以利用其下水平集可以转化为凸函数的性质。即f(x)≤t⇔ϕt(x)≤0。所以可以求解如下凸优化问题:
find xϕt(x)≤0same constraints as original problem
二分搜索t,如果能找到x,搜索左侧,否则搜右侧。即,当我们能找到可行的x,意味着f(x)≤t可以进一步压缩(最小化f),等价于ϕt(x)≤0把t压缩。
四类典型问题
LP
xmincTxs.t.Dx≤dAx=b
案例:basis pursuit,如何应对绝对值?
βmin∣∣β∣∣1s.t.Xβ=y
转化为
β,zmin1Tzs.t.z≥β,z≥−β,Xβ=y
LP问题的标准形式
xmincTxs.t.Ax=b,x≥0
变种:线性分式规划,即优化目标函数变成了cTx+daTx+b,要求分母大于0。
这个问题可以转化为线性规划,即另y=eTx+fx,z=eTx+f1,然后代换之前的x,优化y和z,优化完反向求出x。
QP
xmincTx+21xTQxs.t.Dx≤d,Ax=b
Q是半正定
标准形式
xmincTx+21xTQxs.t.Ax=b,x≥0
SDP
xmincTxs.t.x1Fn+...+xnFn≤F0
不等号定义半正定性A≤B≡A−B半正定,Fi是d阶对称方阵,xi表示x向量的第i个元素。
标准形式
XminC⋅Xs.t.AiX=bi,i=1,2,...,mX≥0
Conic Program
xmincTxs.t.Ax=bD(x)+d∈K
c、x是向量,A是矩阵,D把x线性映射到某一个欧氏空间Y,d∈Y,K⊆Yclosed convex cone。
比如对于LP而言,D(x)=x,d=0,K是非负实数向量。
四类问题转换证明
