1 凸集、凸函数、凸优化问题

122 阅读8分钟

基本概念:凸集、凸函数、凸优化问题

凸集

definition

x,yCRn0t1,tx+(1t)yCx,y\in C \subseteq R^n \rightarrow \forall 0\le t\le 1, tx + (1-t)y\in C

xxyy是任取的某一特定对。

凸组合构成凸包

x1,...,xkC,C=i=1kθixk\forall x_1,...,x_k \in C, C'=\sum_{i=1}^k \theta_i x_k with θi0\theta_i \ge 0 and i=1kθi=1\sum_{i=1}^k \theta_i=1CC'构成凸包convex hull,即所有点凸组合构成的集合。凸包也是包含非凸区域的最小凸区域。

常见的凸集类型如下

  • Norm ball: {x:xr}\{x: ||x||\le r\}
  • 椭球:{x:(xxc)TP1(xxc)1}\{x: (x-x_c)^TP^{-1}(x-x_c)\le 1\},P是对称正定阵
  • Hyperplane: {x:aTx=b}\{x: a^Tx=b\}, a是平面法向量
  • Halfspace: {x:aTxb}\{x: a^Tx\le b\}
  • Affine space: {x:Ax=b}\{x: Ax=b\}
  • polyhedron: {x:Axb}\{x: Ax\le b\} 若干平面方程的交集,如果是Axb,Cx=dAx\le b, Cx= d也是多边形,因为Cx=dCx=d可以转化成Cxd,CxdCx\le d, -Cx\le -d,然后和前面合并在一起即可。
  • simplex: 特殊的多边形,可以组成是不同维度空间中的complex(复形),一个经典的单纯形是概率单纯形,即n个元素,非负且和为0。
  • cone: xCtxCt0x\in C\rightarrow tx\in C \forall t \ge 0
  • convex cone: x1,x2Ct1x1+t2x2Ct1,t20x_1,x_2\in C\rightarrow t_1x_1+t_2x_2\in C\forall t_1,t_2\ge 0
  • conic combination: x1,...,xkRn,C=i=1kθkxk,θi0x_1,...,x_k\in R^n, C'=\sum_{i=1}^k\theta_k x_k, \theta_i \ge 0
  • norm cone: {(x,t):xt}\{(x,t): ||x||\le t\},想象一个圆锥,每固定一个t就形成一个圆面。
  • normal cone: NC(x)={g:gTxgTy,yC},xCN_C(x)=\{g: g^Tx\ge g^Ty, \forall y \in C\}, x\in C,这里C不一定是凸集也ok
  • positive semidefinite cone: Sn+S_n^+,表示所有n阶半正定对称方阵。这是一个convex cone,可以自行验证

性质

  • separating hyperplane theorem:两个不相交的convex set存在一个超平面划分
  • Supporting hyperplane theorem:非空凸集存在支撑。啥叫支撑?就是说对于一个边界上的点x0Cx_0\in C,一定存在一个向量aa,满足xC,aTxaTx0\forall x \in C, a^Tx \le a^Tx_0

凸集操作

  • 求交集保凸性
  • 线性变换aX+b保凸,这里a和b都是实数
  • affine保凸,Ax+b,这里A是矩阵,b是向量。并且如果A可逆,那么像凸则原像也是凸的
  • 数字除法保凸,Ax+bcTx+d\frac{Ax+b}{c^Tx+d}也保凸。

第三个性质有个很妙的题目:如何证明下面的矩阵不等式的解集是凸集?
x1A1+...+xkAkBx_1A_1+...+x_kA_k\le B,A和B都是n阶方阵。不等号表示正定性。
一个naive的方法是直接用定义去证明。还有一个更骚的,构造f(x)=BkxkAkf(x)=B-\sum_kx_kA_k,他的输入是不等式的解,输出是一个n阶正定阵,那么这是一个affine变换,并且像是正定方阵是convex cone,肯定是凸的,所以原像也是凸的。

凸函数

definition

f:RnR,s.t.x,ydom(f),0t1,f(tx+(1t)y)tf(x)+(1t)f(y)f: R^n\rightarrow R, s.t. \forall x,y\in dom(f),\forall 0\le t\le 1, f(tx+(1-t)y)\le tf(x)+(1-t)f(y)

Jessen不等式,下凸

严格凸:等号取不到。但是注意,这个只能说等号取不到是严格凸,反过来不成立,比如x4x^4严格凸,但是在0处二阶导为0。对于二次型,严格凸和矩阵正定是等价的。 强凸:m>0,fm2x22m > 0, f-\frac{m}{2}||x||_2^2是凸的,即至少和二次函数一样凸

凸函数有个好处,如果我们让dom之外的部分取值都是\infty,那它还是凸的,这样我们其实直接延拓一个新的函数即不需要再考虑定义域。

案例

  • 二次型xTQx+bTx+cx^TQx+b^Tx+c,Q半正定时为凸
  • square error: (yAx)T(yAx)(y-Ax)^T(y-Ax),就是二次型,对应的Q=ATAQ=A^TA始终半正定
  • norm函数xp=(xp)1/p||x||_p=(\sum x^p)^{1/p}
  • max函数
  • 支撑函数:IC(x)=maxyCxTyI^*_C(x)=\max_{y\in C} x^Ty
  • logdet(X),在正定对称阵上是凹函数
  • 几何平均:(ixip)1/p(\prod_i x_i^p)^{1/p}凹函数

性质

  • 凸函数等价于他的epigraph是凸的:epi(f)={(x,t)dom(f)×R:f(x)t}epi(f)=\{(x,t)\in dom(f)\times R: f(x)\le t\} 这里其实是把凸函数看作是一个集合的边界。相应的概念叫hypo(f)={(x,t)dom(f)×R:f(x)t}hypo(f)=\{(x,t)\in dom(f)\times R: f(x)\ge t\}

epi.png

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

  • 凸函数则sublevel sets是凸的:{xdom(f):ft},tR\{x\in dom(f): f\le t\}, \forall t\in R (反过来不成立,ex-e^x
  • 如果一阶可微,那么f是凸的等价于dom(f)dom(f)凸且f(y)f(x)+f(x)T(yx),x,yf(y)\ge f(x)+\nabla f(x)^T(y-x),\forall x,y(切线在下)
  • 如果2阶可微,那么f是凸的等价于dom(f)dom(f)凸且2f(x)0\nabla^2f(x)\ge 0,这里不等号表示半正定

Schur补条件:考虑一个n阶对称阵,如果可以分块2x2[[A,B],[BT,D]][[A,B],[B^T,D]]并且det(A)0det(A)\ne0,对角线上的两个阵是方阵,那么Schur补就是S=DBTA1BS=D-B^TA^{-1}B。X正定等价于S和A正定。并且det(X)=det(A)det(S)det(X)=det(A)det(S)

保凸操作

  • 一些列凸函数的非负线性组合
  • 对一系列凸函数取最大值
  • 偏最小值,g(x,y)g(x,y)是凸的,f(x)=minyCg(x,y)f(x)=\min_{y\in C}g(x,y)是凸函数。
  • affine保凸:f是convex,f(Ax+b)f(Ax+b)是凸的
  • 复合变换:利用链式求二阶导判断正负。
  • log-sum-exp:g(x)=log(i=1keaiTx+bi)g(x)=\log(\sum_{i=1}^k e^{a_i^T x+b_i}),softmax

共轭函数

定义

对于函数f(x)f(x),其共轭函数为f(y)=supxdom(f)(yTxf(x))f^*(y)=\sup_{x\in dom(f)}(y^Tx-f(x))

在x是实数的时候很容易理解

conj-f.png

显然,共轭函数是凸函数,因为相当于有一系列关于yy的函数,从里面找最大。而每一个关于y的函数都是y的凸函数。这和f(x)f(x)其实没有关系。

这个定义也要求了,y的取值必须保证上确界存在。比如对于一次函数f(x)=ax+bf(x)=ax+b,那么很明显,其共轭函数f(y)=maxxR{(ya)xb}f^*(y)=\max_{x\in R}\{(y-a)x-b\},这个要想有界,y只能取aa

性质

  • 1 Fenchel不等式:f(x)+f(y)xTyf(x) + f^*(y)\ge x^T y
  • 2 ff是凸函数且避函数(epigraph是闭的), f=ff^{**}=f
  • 3 变换g(x)=af(x)+bg(x)=af(x)+b,则g(y)=af(y/a)bg^*(y)=af^*(y/a)-b
  • 4 变换g(x)=f(Ax+b)g(x)=f(Ax+b)A是可逆方阵,g(y)=f(ATy)bTATyg^*(y)=f^*(A^{-T}y)-b^TA^{-T}y
  • 5 g(u,v)=f1(x)+f2(y)g(u,v)=f_1(x)+f_2(y),那么g(w,z)=f1(w)+f2(z)g^*(w,z)=f_1^*(w)+f_2^*(z)

拟凸函数

比凸函数更弱的函数,可以不凸,但是凹的程度没那么大。

定义

定义域内的所有下水平集都是凸集。如果上水平集都是凸集,那么是拟凹函数。(比如logx,同时是拟凸和拟凹的)

比如实属函数的一个拟凸函数如下图

nitu.png

如果这个函数凹的程度再厉害一点,那么下水平集就可能是两段区间,这样就不是凸集了。

性质

  • f(θx+(1θ)y)max{f(x),f(y)}f(\theta x + (1-\theta) y)\le \max\{f(x), f(y)\}
  • R上的连续函数,要么非增、要么非减、要么存在一个点cc,左侧非增,右侧非减(单峰特性)
  • 如果可微,那么拟凸的充要条件是定义域凸且x,y:f(y)f(x)f(x)T(yx)0\forall x,y: f(y)\le f(x)\Rightarrow \nabla f(x)^T(y-x)\le 0

相当于定义了下水平集的一个支撑超平面

  • 如果二次可微,yTf(x)=0yT2f(x)y0y^T\nabla f(x)=0\Rightarrow y^T \nabla^2 f(x)y\ge 0

R上的函数更直观,即一阶导为0的点,二阶导非负。

保拟凸运算

  • 一系列拟凸函数的非负加权后,求最大
  • 拟凸函数的复合函数是拟凸的
  • f(x,y)f(x,y)是联合拟凸函数,C是凸集,那么g(x)=infyCf(x,y)g(x)=\inf_{y\in C} f(x,y)是拟凸函数。

转换表示

对于拟凸函数的下水平集,可以用一个凸函数的0不等式表示即

f(x)tϕt(x)0f(x)\le t \Leftrightarrow \phi_t(x)\le 0

最naive的方法是indicator,在下水平集内取0,否则取1。因为拟凸函数保证了定义域是凸的,所以显然。但是不naive的需要结合函数特点来设计。

对数凸函数

  • def:logf\log f是凸函数
  • 性质f(θx+(1θ)y)f(x)θf(y)1θf(\theta x + (1-\theta)y)\ge f(x)^\theta f(y)^{1-\theta}

凸优化问题

definition

minxDf(x)s.t.gi(x)0(i=1,2,...,m)hj(x)=0(j=1,2,...,p)\min_{x\in D} f(x) \\ s.t. g_i(x)\le 0 (i=1,2,...,m) \\ h_j(x)=0 (j=1,2,...,p)

DD是公共定义域,ffgg是凸函数,hh是affine的,h(x)=wTx+bh(x)=w^Tx+b

相当于优化问题统一取最小化问题,限制条件可以是若干不等条件和等于条件,不等条件统一取小于等于。

凸最小化问题等价于一个凹最大化问题,都叫凸优化。
可以重新写成没有constraint的版本,就是目标中增加一个Indicator,在定义域内是0,否则无穷大。

性质

  • 这类问题的好处是局部最优就是全局最优。
  • 最优解集合为凸集
  • f是严格凸那么解唯一
  • 如果一阶可微,那么xx是最优解等价于f(x)(yx)0\nabla f(x)(y-x)\ge 0,相当于x处负梯度法向量的超平面构成对可行集的支撑。

问题变换

  • partial optimization 可以把一个问题的决策变量,分别求最小,这是由于凸函数的保凸操作3保证的。因此可以先求一个变量的最小,再将其固定求另外一个。
  • 目标转换 如果一个函数是单调增的,那么套一个重新求最小化,或者把原有的单调增函数去掉。这些变换可以应用于优化目标和constraint
  • 变量映射 一一映射并且像包含可行域,那么minxf(x),xC\min_x f(x), x\in C等价于minyf(ϕ(y)),ϕ(y)C\min_y f(\phi(y)), \phi(y)\in C

比如几何优化就是非凸的
所谓几何优化是指优化目标和constraint都是posynomials的(i=1pγkx1α1x2α2...xnαn\sum_{i=1}^p \gamma_k x_1^{\alpha_1}x_2^{\alpha_2}...x_n^{\alpha_n}这种形式),γ>0\gamma>0gi(x)1,hi(x)=1g_i(x)\le 1, h_i(x)=1
但是如果令yi=logxi,γ=eby_i=\log x_i, \gamma=e^b,那xi=eyix_i=e^{y_i},带回原式可得f(x)=eaTy+bf(x)= e^{a^Ty+b},这就是凸了。

  • 去除不等约束 对于gi(x)0g_i(x)\le 0,引入si0s_i \ge 0,且gi(x)+si=0g_i(x)+s_i=0,注意只有gig_iaffine的时候才是convex的。
  • 增加等式约束 把原来的变量,配凑成一个新的形式z=ϕ(x)z=\phi(x)成为等式约束,然后把原始公式里配凑出来的ϕ(x)\phi(x)变成z。
  • 松弛等于约束 对于gi(x)=0g_i(x)=0gig_i不是affine的情况,可以松弛为gi(x)0g_i(x)\le 0,这样可行域会变大,求完了还得验证分析。

拟凸优化

目标函数从凸函数变成了拟凸函数。这样传统的一阶最优充要条件f(x)T(yx)0y\nabla f(x)^T(y-x)\ge 0 \forall y是不对的,但是我们有一个类似的充分条件:f(x)T(yx)>0 yX{x}\nabla f(x)^T (y-x)>0 \ \forall y\in X-\{x\}

实际求解,可以利用其下水平集可以转化为凸函数的性质。即f(x)tϕt(x)0f(x)\le t \Leftrightarrow \phi_t(x)\le 0。所以可以求解如下凸优化问题:

find xϕt(x)0same constraints as original problemfind \ x \\ \phi_t(x) \le 0 \\ same \ constraints\ as\ original\ problem

二分搜索tt,如果能找到xx,搜索左侧,否则搜右侧。即,当我们能找到可行的x,意味着f(x)tf(x)\le t可以进一步压缩(最小化f),等价于ϕt(x)0\phi_t(x)\le 0把t压缩。

四类典型问题

LP

minxcTxs.t.DxdAx=b\min_x c^T x \\ s.t. Dx\le d \\ Ax=b

案例:basis pursuit,如何应对绝对值?

minββ1s.t.Xβ=y\min_\beta ||\beta||_1 \\ s.t. X\beta=y

转化为

minβ,z1Tzs.t.zβ,zβ,Xβ=y\min_{\beta,z} 1^Tz \\ s.t. z\ge \beta, z\ge -\beta, X\beta=y

LP问题的标准形式

minxcTxs.t.Ax=b,x0\min_x c^Tx \\ s.t. Ax=b, x\ge 0

变种:线性分式规划,即优化目标函数变成了aTx+bcTx+d\frac{a^Tx+b}{c^Tx+d},要求分母大于0。

这个问题可以转化为线性规划,即另y=xeTx+f,z=1eTx+fy=\frac{x}{e^Tx+f}, z=\frac{1}{e^Tx+f},然后代换之前的x,优化y和z,优化完反向求出x。

QP

minxcTx+12xTQxs.t.Dxd,Ax=b\min_x c^T x + \frac{1}{2}x^TQx \\ s.t. Dx\le d, Ax=b

QQ是半正定
标准形式

minxcTx+12xTQxs.t.Ax=b,x0\min_x c^Tx + \frac{1}{2}x^TQx \\ s.t. Ax=b, x\ge 0

SDP

minxcTxs.t.x1Fn+...+xnFnF0\min_x c^T x \\ s.t. x_1F_n+...+x_nF_n\le F_0

不等号定义半正定性ABABA\le B\equiv A-B半正定,FiF_i是d阶对称方阵,xix_i表示x向量的第i个元素。
标准形式

minXCXs.t.AiX=bi,i=1,2,...,mX0\min_X C\cdot X \\ s.t. A_i X=b_i, i=1,2,...,m \\ X\ge 0

Conic Program

minxcTxs.t.Ax=bD(x)+dK\min_x c^T x \\ s.t. Ax=b \\ D(x)+d \in K

c、x是向量,A是矩阵,D把x线性映射到某一个欧氏空间YYdY,KYd\in Y, K\subseteq Yclosed convex cone。

比如对于LP而言,D(x)=x,d=0D(x)=x, d=0KK是非负实数向量。

四类问题转换证明

proof.png