下面我们将讨论凸性问题,这在优化理论中具有非常重要的地位。
凸集(Convex Sets)
- 在定义凸集之前,我们首先给出凸组合的概念:设向量x1,⋯,xk,则称
x=i=1∑kθixi
为x1,⋯,xk的凸组合,当θi≥0且i=1∑kθi=1。
- 由此可知,θ1,⋯,θk既可以看作向量的权重,也可以看作概率分布。
- 下面对凸集进行定义:设集合C⊆Rn,若对于任意x1,x2∈C,θ∈[0,1],凸组合θx1+(1−θ)x2∈C,那么称C为凸集。
- 从几何意义上说,上述定义等价于集合C中任意两点x1与x2连线线段包含于C中。
- 从代数上推广,若C为凸集,那么对于任意x1,⋯,xk∈C,它们的凸组合都属于C。
当然,这里集合的元素不一定是向量,也可以是矩阵,随机变量等等。
- 那么如何构造凸集呢?一个直接的方法是对任意集合取它的凸包(Convex Hull),其定义如下:设集合S⊆Rn,那么它的凸包(记作conv(S))就是其所有点的凸组合,即
conv(S)={i=1∑kθixik∈N,θ1,…,θk≥0,i=1∑kθi=1,x1,…,xk∈S}
其具有以下性质:
- conv(S)是包含S的最小凸集(当S为凸集时二者相等);
- conv(S)是S所有有限子集凸包的并集,即
conv(S)=A⊆SA有限⋃conv(A)
这一性质还可以加强为下述Carathéodory定理(是的,和测度论的卡氏条件提出者是同一个人):
conv(S)=A⊆S∣A∣≤n+1⋃conv(A)
其中∣A∣表示集合A中元素的数量。
一个比较直观的推论:平面上任意集合凸包都可以用集合中三个点组成的三角形(不限个数)覆盖。
仿射集与相对内部
- 除了凸包,还有其他从集合构造凸集的方法,比如:
- 锥包(Conic Hull):设S⊆Rn,那么S的锥包conic(S)定义为
conic(S)={i=1∑kθixik∈N,θ1,…,θk≥0,x1,…,xk∈S}
从几何上,S的锥包相当于以原点为顶点,囊括整个S凸包的锥体(二维上是扇形)。
- 在介绍另一种构造方法之前,先给出仿射集(Affine Set)的概念:设集合S⊆Rn,若对于任意x1,x2∈S,θ∈R,θx1+(1−θ)x2∈S,那么称S为仿射集。
-
几何意义上,上述定义等价于S中任意两点x1与x2连成的整条直线包含于S中。【由此显然可知仿射集一定是凸集】
-
实际上,仿射集与线性子空间之间存在密切的关系。具体而言,定义A+x={a+x∣a∈A}为集合A的一个平移,那么:
- 对任意非空仿射集S⊆Rn,存在Rn子空间U使得对任意x∈S,有S=U+x;
- 对于任意Rn子空间U和向量x∈Rn,U+x为一个仿射集。
证明略(只需使用线性代数知识即可)。本质上,仿射集可以看作线性子空间的一个平移变换。
- 由此我们可以定义仿射包(Affine Hull):设集合S⊆Rn,那么它的仿射包(记作aff(S))就是其所有点的仿射组合,即
aff(S)={i=1∑kθixik∈N,θ1,…,θk∈R,i=1∑kθi=1,x1,…,xk∈S}
由此可知仿射包一定是凸包。
- 另外,与凸包类似,仿射包是包含S的最小仿射集(当S为仿射集时二者相等),且
aff(S)=A⊆SA有限⋃aff(A)
同样,这一性质也可以进行加强:设aff(S)为d维线性子空间平移得到的仿射集,那么有
aff(S)=A⊆S∣A∣≤d⋃aff(A)
注:这个加强版的性质只适用于非离散集合,对于离散集合∣A∣上界为d+1。
- 下面我们将讨论凸集问题的另一个概念:相对内部(Relative interior)。在集合论中,我们已经涉及内部这一概念,这里再进行详述:
- 首先,定义开球(open ball):对于向量x∈Rn,其半径r的开球(r>0)定义为
Nr(x):={y∈Rn∣∥y−x∥2<r}
- 然后定义内部:设集合S⊆Rn,对于x∈Rn,若存在r>0使得Nr(x)⊆S,那么就称x为S的一个内点;称S所有内点的集合为S的内部,记作int(S)。
- 在上述定义下,高维空间中低维集合的内部就是空集(比如平面上的线段集合),但我们希望同一集合在任意维度下“内部”都不变,因此考虑对内部这一概念进行推广:
- 设集合S⊆Rn,x∈S,如果存在r>0使得Nr(x)∩aff(S)⊆S,则称x为S的相对内点;【相当于将开球对S所在低维空间做投影】
- S的所有相对内点的集合称作S的相对内部,记作relint(S)。
- 有了相对内部的概念,我们就可以定义严格凸集(strictly convex sets):设集合C⊆Rn,若对于任意x1,x2∈C,θ∈(0,1),有θx1+(1−θ)x2∈relint(C),那么称C为严格凸集。
- 从几何上看,严格凸集的边界不允许出现低维内容(如平面中直线,三维空间中平面)。平面上的示意图如下:

其中S1为非凸集,S2为非严格凸集,S3为严格凸集。
超平面与半空间
- 接下来我们考虑一种特殊的凸集:超平面(hyperplane)。其定义如下:设a,x0∈Rn,b∈R,则称集合
{x∈Rn∣a⊤x=b}
或
{x∈Rn∣a⊤(x−x0)=0}
为超平面。由此可知,超平面属于凸集。
- 在得到超平面的定义后,我们就可以再定义半空间(half-space):设a,x0∈Rn,b∈R,则称集合
{x∈Rn∣a⊤x≥b}或{x∈Rn∣a⊤(x−x0)≥0}
为正半空间,称
{x∈Rn∣a⊤x≤b}或{x∈Rn∣a⊤(x−x0)≤0}
为负半空间。
- 从几何上看,以x0为原点,则正半空间上的向量与a的点积为正(与超平面垂直投影和a同向),负半空间则刚好相反。
- 下面我们阐述一个比较重要的定理:分离超平面定理(Separating Hyperplane Theorem)。设非空集合C,D⊆Rn交集为空(C∩D=∅),那么存在a,x0∈Rn使得
a⊤(x−x0)≥0,∀x∈Ca⊤(x−x0)≤0,∀x∈D
特别地,当C和D均为闭集且其中至少一个集合有界,那么就存在a,x0∈Rn使得
a⊤(x−x0)>0,∀x∈Ca⊤(x−x0)<0,∀x∈D
注:当C和D均为无限闭集时,上述结论不一定成立,反例如下:n=2,C={(x,y)∣x≥0,y=0},D={(x,y)∣x>0,xy≥1},则不存在超平面(直线)可以完全分离C和D。【证明略】
- 那么,这个超平面究竟如何构造呢?对于两个完全分离的集合C和D,可以定义它们之间的距离:
dist(C,D):=c∈Cd∈Dinfc−d2.
可知其一定大于0,且这个下确界一定能取到(一定存在向量c0∈C和d0∈D满足c0−d02=dist(C,D))。
- 于是我们就令超平面法向量a=c−d,而其在超平面上的垂直投影x0取向量重点,即x0=2c+d。具体示意图如下:

证明这能够构成超平面可使用反证法,此处作略。
锥
-
前面我们简要提到了锥包这一概念,下面我们对锥这一概念本身进行拓展。给出如下定义:
- 锥(cone): 若集合K中任意元素v都满足αv∈K(α≥0),则称K为锥;【零向量一定属于锥】
- 凸锥(convex cone):若K既是凸集又是锥,则称K为凸锥;
- 尖锥(pointed cone):若锥K不包含经过原点的直线(即对任意v∈K,存在α使αv∈K),则称K为尖锥;
- 实心锥(solid cone):若锥K的内部非空(存在v∈K与r>0使{w∈Rn∣∥w−v∥2<r}⊆K),则称K为实心锥;
- 闭锥(closed cone):若锥K为闭集(包含边界),则称K为闭锥;
- 正常锥(proper cone):若锥K同时满足上述所有性质,则称K为正常锥。
正常锥的概念在后续凸优化中有着比较重要的作用,这里先按下不表。
注:在后续凸优化问题中,我们可能需要对线性空间Rn上的理论推导到更广义的内积空间中,比如矩阵元素空间。具体细节在后续会进行讨论。
-
下面我们再定义两种特殊的锥:
- 多面体锥(polyhedral cone):称有下述形式
C:={(x,t)∈Rn+1∣Ax≤ty,t≥0}
的集合C为多面体锥。其可以理解为以原点为顶点,包含Ax≤y(多面体)的锥体。
- 椭球锥(ellipsoidal cone):称有下述形式
C:={(x,t)∈Rn+1∣∥Ax−ty∥2≤tz,t≥0}
的集合C为多面体锥。其可以理解为以原点为顶点,包含∥Ax−y∥2≤z(椭球)的锥体。
特别地,当A为单位阵(对应圆球),y=0,z=1时,称C为二阶锥(second order cone)。关于它的性质后续会进行讨论。
由定义可知,多面体锥与椭球锥都是凸锥。
-
然后,我们给出锥的一种重要关系:设K⊆Rn为锥,那么下述集合
K∗:={y∈Rn∣y⊤x≥0,∀x∈K}
为一个闭凸锥。称K∗为K的对偶锥(dual cone)。
- 从几何上看,对偶锥可以理解为对K中所有向量过原点的正半空间取交集。
- 下面列举一些常见锥的对偶锥:
- R+n:={x=(x1,⋯,xn)∈Rn∣xi≥0,i=1,2,⋯,n}的对偶锥是其自身;
- 设线性子空间S⊆Rn,则S显然是凸锥,而S的对偶锥就是S的正交补空间S⊥。
-
在得到对偶锥的定义后,我们将讨论两种被广泛使用的正常锥:半正定矩阵锥与二阶锥。
- 首先定义半正定矩阵锥:考虑n×n实对称矩阵空间Sn,使用Frobenius内积
⟨A,B⟩F:=tr(AB)=i=1∑nj=1∑nAijBij,A,B∈Sn
和Frobenius范数,那么实对称半正定矩阵空间S+n是Sn中的一个正常锥,且S+n在Sn中的对偶锥是其自身。
实际上,实对称矩阵空间Sn可以看作n2维向量空间Rn2的子空间,从而向量空间的锥理论可以迁移到这个矩阵空间中。
证明
首先证明S+n为满足正常锥的四条性质:
- 凸锥:设A,B∈S+n,α,β≥0,那么对于任意v∈Rn,
v⊤(αA+βB)v=α≥0v⊤Av+β≥0v⊤Bv≥0
因此αA+βB∈S+n。【β=0成立⟹S+n是锥,β=1−α成立⟹S+n是凸集】
- 尖锥:对任意非零矩阵A∈S+n,有−A∈S+n(v⊤(−A)v<0,∀v∈Rn),因此S+n不包含过原点直线。
- 实心锥:因为I∈S+n,考虑定义集合
B:={A∈Sn∥A−I∥F<21}
下证B⊆S+n:对任意A∈B,任意v∈Rn,
v⊤Av=v⊤((A−I)+I)v=v⊤(A−I)v+∥v∥22≥−∥A−I∥2∥v∥22+∥v∥22≥−∥A−I∥F∥v∥22+∥v∥22>−21∥v∥22+∥v∥22=21∥v∥22≥0.
其中第二个不等号是因为对任意矩阵谱范数(矩阵最大奇异值)一定不大于Frobenius范数(矩阵所有奇异值平方和的平方根)。
因此A∈S+n⟹B⊆S+n。
- 闭锥:设{Ak,k≥1}为S+n中一个收敛到A∈Sn的序列,那么对任意v∈Rn,
v⊤Av=v⊤(k→∞limAk)v=k→∞lim≥0v⊤Akv≥0.
因此A∈S+n,即S+n为闭集。
下面再证明S+n的对偶锥是其自身,即
(S+n)∗={A∈Sn∣⟨A,B⟩F≥0,∀B∈S+n}=S+n.
- 先证明(S+n)∗⊆S+n:对任意A∈(S+n)∗,任意v∈Rn,因为vv⊤∈S+n,所以
v⊤Av=tr(v⊤Av)=tr(Avv⊤)=⟨A,vv⊤⟩F≥0
其中第二个等号利用了迹的循环不变性。由此得到A∈S+n,即(S+n)∗⊆S+n。
- 再证明(S+n)∗⊇S+n:对任意B∈S+n,考虑任意C∈S+n,根据谱定理,C可表示为i=1∑nλivivi⊤,其中λi≥0。因此
⟨B,C⟩F=tr(BC)=tr(B(i=1∑nλivivi⊤))=tr(i=1∑nλiBvivi⊤)=i=1∑nλitr(Bvivi⊤)=i=1∑n≥0λi≥0tr(vi⊤Bvi)≥0.
于是B∈(S+n)∗,即(S+n)∗⊇S+n。
综上,命题得证。
- 然后给出二阶锥的正式定义:Rn+1中的二阶锥形式为
K:={(x,t)∈Rn×R∣∥x∥≤t}
其性质与半正定矩阵锥类似:属于正常锥,且在Rn+1中的对偶锥为其自身。【证明留给读者】
-
关于对偶锥,还有如下定理:设K⊆Rn为非空闭凸锥,那么有(K∗)∗=K。【证明同样略】
凸函数(Convex Function)
在有了凸集的概念之后,我们就能对凸函数(以及凹函数)进行定义:
-
设函数f:Rn→R,若f的定义域Ω为凸集,且对任意x1,x2∈Ω,θ∈[0,1],有
f(θx1+(1−θ)x2)≤θf(x1)+(1−θ)f(x2)
则称f为凸函数,而对应的−f则为凹函数(concave function)。
-
事实上,上述定义也是Jensen不等式的一个特殊情形。Jensen不等式的完整形式如下:
- 设Ω为凸集,f:Ω→R为凸函数,那么对任意x1,⋯,xk∈Ω,θ1,⋯,θk∈[0,1],i=1∑kθi=1,有
f(i=1∑kθixi)≤i=1∑kθif(xi)
- 凸(凹)函数的几何示意图如下:

直观上看,凸函数的形状类似碗状,且其中任意两点之间的连线段都在函数之上。【凹函数恰好相反】
-
为了更好地将凸函数与凸集联系起来,我们引入epigraph这个概念【一般翻译为上境图】:设Ω为凸集,f:Ω→R为凸函数,则f的上境图(记作epi(f)⊆Ω×R)定义为
epi(f)={(x,t)∣x∈Ω,t≥f(x)}.
从几何上看,上境图可以理解为Ω×R(即定义域-值域)空间中f自身及其上方的点集区域。
-
下面我们讨论凸函数的导数(梯度)性质。首先是凸函数的一阶凸性性质:设Ω为凸集,f:Ω→R为一阶可微函数,则f为凸函数当且仅当对任意x,y∈Ω,
f(y)≥f(x)+[∇f(x)]⊤(y−x).
实际上上式右边可以看作函数在x处进行泰勒一阶近似后在y处的值。因此从几何角度上看,凸函数位于其每个点切线的上方。
- 简单证明如下(只证明必要性,充分性略):对任意h∈(0,1),
f(hy+(1−h)x)⟹hf(hy+(1−h)x)−f(x)⟹f(y)≤hf(y)+(1−h)f(x)=f(x)+h(f(y)−f(x))≤f(y)−f(x)≥f(x)+hf(hy+(1−h)x)−f(x)=f(x)+hf(x+h(y−x))−f(x).
两边让h→0,得到
f(y)≥h→0lim{f(x)+hf(x+h(y−x))−f(x)}=f(x)+h→0limhf(x+h(y−x))−f(x)=f(x)+[∇f(x)]⊤(y−x)
其中最后一个等号利用了梯度与方向导数的关系。
-
相应地,凸函数也有二阶凸性性质:设Ω为凸集,f:Ω→R为二阶可微函数,则f为凸函数当且仅当对任意x∈Ω,
∇2f(x)⪰0
即f在x处的Hessian矩阵为半正定矩阵。
- 由此可得到一个推论:设Q∈Sn,b∈Rn,c∈R,则二次型函数
f(x)=x⊤Qx+b⊤x+c
为凸函数当且仅当Q为半正定矩阵。
-
当我们将上述凸函数定义中的≤改为<(要求x1=x2),那么得到的f(−f)就是严格凸(凹)函数(与严格单调定义类似)。
- 严格凸函数也有对应的一阶/二阶严格凸性条件,这里作略。(但注意,二阶严格凸性条件只能由Hessian矩阵正定推出f严格凸,反之不能推出)
-
凸函数还可以在保持凸性的前提下进行变换:
- 逐点最大值:当f1,f2均为凸函数,那么max{f1,f2}也为凸函数;
- 加权求和:当f1,⋯,fk均为凸函数,则α1f1+⋯+αkfk(α1,⋯,αk≥0)也为凸函数;
- 线性变换:当f(x)为Ω上凸函数,那么g(x)=f(a⊤x+b)也为Ωg={a⊤x+b∣x∈Ω}上的凸函数;
- 复合函数:若h为凸函数且单调不减,g为凸函数,那么f=h∘g为凸函数。
仿射函数(Affine Function)
那么有没有函数既是凸函数又是凹函数呢?当然有!这类函数我们称之为仿射函数,它们在后续会有重要作用。
-
仿射函数主要有以下三种形式:
- f:Rn→R,a∈Rn,b∈R⟹f(x)=a⊤x+b,∀x∈Rn;
- f:Rn→Rm,A∈Rm×n,b∈Rm⟹f(x)=Ax+b,∀x∈Rn;
- f:Rm×n→R,A∈Rm×n,b∈R⟹f(X)=i=1∑mj=1∑nAijXij+b=tr(A⊤X)+b,∀X∈Rm×n。
本质上,仿射函数可看作线性函数带上一个截距。
-
关于仿射函数既是凸函数又是凹函数的证明此处作略,留给读者思考。【提示:对于第一种形式,构造g(x)=f(x)−f(0),证明g(rx)=rg(x),∀r∈R,后两种类似】
凸优化问题
- 在定义了凸集和凸函数后,我们终于可以对凸优化问题的形式进行正式定义:设Ω为一集合,f:Ω→R为一函数,则如果Ω为凸集,f为凸函数,则称
x∈Ωminf(x)
为凸优化问题。【Ω也被称为可行域】
- 当然,实际情况下x∈Ω一般会用若干约束条件进行替代。具体而言,对于下述优化问题:
s.t.x∈Rnminf0(x)fi(x)≤0,i=1,2,⋯,mhj(x)=0,j=1,2,⋯,p
当f0,f1,⋯,fm均为凸函数,h1,⋯,hp均为仿射函数时,就称其为凸优化问题。【这也是凸优化问题的标准形式】
- 然后我们给出凸优化问题的一阶凸性条件,这也是凸优化的一个重要定理:设Ω为凸集,f:Ω→R为一阶可微函数。若x∗∈Ω满足∇f(x∗)=0,那么x∗∈x∈Ωargminf(x),即x∗是f在Ω上的一个全局最小值。
- 实际上,对于凸函数而言,其局部最小值就是全局最小值。具体而言,若x∗∈Ω满足存在ϵ>0使得
f(x∗)≤f(x),∀x∈Ω,∥x−x∗∥<ϵ
那么x∗就是一个f在Ω上全局最小值。
- 那么这个全局最小值是否唯一呢?如果f为严格凸函数,那么它就是唯一的。【当然,也可能根本不存在全局最小值,比如f(x)=ex】
解决凸优化问题
在解决凸优化问题之前,我们先引入活跃约束与非活跃约束这两个概念:
- 考虑上述凸优化问题标准形式中的不等式约束fi(x)≤0,如果在可行域中存在解x0∈Rn,使得fi(x0)=0,那么称对应的约束为活跃约束,否则称为非活跃约束。
也可以从另一个角度理解:活跃约束对应的参数如果变化,那么对应的解就会发生变化,而非活跃约束则不会产生变化。
- 实际上,活跃约束对应的解恰好就在可行域Ω的边界上。由此,我们就能归纳出解决凸优化问题的通用策略:
- 对于m个不等式约束,考虑其是否为活跃约束,得到活跃约束指标集S⊆{1,2,⋯,m}【共2m种组合】;
- 对于每个S:
- 求解修改后的问题
s.t.x∈Rnminf0(x)fi(x)≤0,i∈Shj(x)=0,j=1,2,⋯,p
即S中的不等式约束都取等号,不考虑其他不等式约束,由此得到备选解xS∗。
- 如果存在某个解xS∗是原始问题的可行解,则记录f0(xS∗)的值,否则忽略该解。
- 遍历所有满足原始问题可行性的xS∗之后,选取f0(xS∗)最优的一个(或多个)解,作为原始问题的最优解。
- 然而,上述策略的计算量是指数级的(每种S都要进行计算),对于不等式约束较多的问题效率较低。之后我们会讨论如何对算法进行优化。
优化问题转换(重参数化)
- 下面我们考虑优化问题的形式转换,通过重参数化构造优化问题的等价形式。在一些情况下,我们可以将非凸优化问题转化为凸优化问题。
目标函数单调变换
-
首先给出一个基本结论:对优化目标函数施加单调变换,其得到的最优解与原始目标函数得到的解相同。具体而言,设Ω为任意集合,f0:Ω→R为任意函数,定义值域f0(Ω):={f0(x)∣x∈Ω}⊆R,那么:
- 对任意单调增函数ϕ:f0(Ω)→R,有
x∈Ωargminf0(x)=x∈Ωargminϕ(f0(x))或x∈Ωargmaxf0(x)=x∈Ωargmaxϕ(f0(x))
- 对任意单调减函数ψ:f0(Ω)→R,有
x∈Ωargminf0(x)=x∈Ωargmaxψ(f0(x))或x∈Ωargmaxf0(x)=x∈Ωargminψ(f0(x))
注意上述函数ϕ,ψ都需要在f0(Ω)上单调。
-
一个经典的应用就是极大似然估计中将似然函数转换为对数似然函数。【y=logx在(0,+∞)上为单调函数】
松弛变量(slack variables)
另一种转换方法是使用松弛变量,可以将不等式约束与等式约束互相转换。其形式如下:
- 考虑上述凸优化问题标准形式,设S⊆{1,2,⋯,m}(不等式约束指标集),那么这一问题与下述问题等价:
s.t.x∈Rn,s∈R+Sminf0(x)fi(x)+si=0,fi(x)≤0,hj(x)=0,∀i∈S,∀i∈{1,…,m}∖S,∀j∈{1,…,p}.
其中R+S={(xi)i∈S∣xi≥0,∀i∈S},而s也被称作松弛变量。
上境图重述
那么目标函数与约束之间能否进行转换?可以!考虑上述凸函数的标准形式,那么其可以进行上境图重述如下:
t∈R,x∈Rnmins.t.tt≥f0(x),fi(x)≤0,∀i∈{1,…,m}ht(x)=0,∀j∈{1,…,p}.
这样就将目标函数大大简化,但代价是约束变得更加复杂(特别当f0为非线性函数时)。【为什么叫上境图重述?因为t≥f0(x)对应的可行域就是上境图】
- 下面给一个使用的实例(Elastic Net正则化问题):设A∈Rn×m,y∈Rn,考虑下述优化问题
x∈Rnmin{∥Ax−y∥22+α∥x∥22+β∥x∥1}
其中α∥x∥22+β∥x∥1被称作Elastic Net正则化项,它结合了一阶范数与二阶范数的正则惩罚。
- 由于目标函数不可微,我们考虑进行上境图重述:
t∈Rx∈Rnmins.t.∥Ax−y∥22+α∥x∥22+βtt≥∥x∥1.
然而此时约束又不可微了。对此,注意到
∥x∥1=i=1∑n∣xi∣=i=1∑nmax{−xi,xi}
因此我们可以将这个约束拆分为
tsisi≥i=1∑nsi≥xi,∀i∈{1,…,n}≥−xi,∀i∈{1,…,n}.
其中s=(s1,⋯,sn)为松弛变量。【t和s优化方向是相同的,因此最终最优解一定能使si=∣xi∣】