凸优化基础知识笔记-凸集、凸函数、凸优化问题(一)

217 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1. 凸集

集合CC被称为凸集,如果C中任意两点间的线段仍然在CC中。即对于任意x1,x2Cx_1,x_2\in C和满足0θ10\leq \theta \leq 1θ\theta都有

θx1+(1θ)x1C(1-1)\theta x_1+(1-\theta)x_1\in C\\ \tag{1-1}

2. 凸函数

凸函数的原始定义:

函数f:RnRf:{\rm{R}}^n\rightarrow{\rm{R}}是凸的,如果dom f{\rm dom}\ f是凸集,且对于任意x,ydom fx,y\in {\rm dom}\ f和任意0θ10\leq \theta\leq 1,有

f(θx+(1θ)y)θf(x)+(1θ)f(y)(2-1)f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta)f(y)\tag{2-1}

严格凸:上式中当xyx\not=y0θ10\leq \theta \leq 1时,不等式严格成立(即取小于号) 几何意义:上述不等式意味着点(x,f(x))(x,f(x))(y,f(y))(y,f(y))之间的线段在函数ff的图像上方。

2.1. 凸函数的一阶条件

假设ff可微(即其梯度f\nabla f在开集dom f{\rm dom}\ f内处处存在),则函数ff是凸函数的充要条件是dom f{\rm dom}\ f是凸集且对于任意x,ydom fx,y\in {\rm dom}\ f,下式成立:

f(y)f(x)+f(x)T(yx)(2-2)f(y)\geq f(x)+\nabla f(x)^T(y-x)\tag{2-2}

几何意义:凸函数的一阶Taylor近似是原函数的一个全局下估计,也即凸函数任意一点处的切线都在原函数图像的下方。反之亦然(充分必要条件) 2.2. 凸函数的二阶条件

假设ff二阶可微,即对于开集dom f{\rm dom}\ f内的任意一点,它的Hessian矩阵或者二阶导数2f\nabla ^2f存在,则函数ff是凸函数的充要条件是其Hessian矩阵是半正定阵:即对于所有的xdom fx\in {\rm dom}\ f有:

2f(x)0(2-3)\nabla^2f(x)\succeq 0\tag{2-3}

几何意义:函数图像在点xx处具有正(向上)的曲率。

2.1. 凸函数例子

常见的凸函数:

  • 指数函数eax,aRe^{ax},\forall a \in R
  • 范数: xp=(x1p+x2p++xnp)1/p,p1\lVert x\rVert_p=\left(\lvert x_1\rvert^p+\lvert x_2\rvert^p+\cdots+\lvert x_n\rvert^p\right)^{1/p},p\geq 1Rn上的任意范数均为凸函数{\rm R}^n上的任意范数均为凸函数
  • 负熵函数:函数xlogxxlog{x}在其定义域(R++或者RXR_{++}或者R_X)上是凸函数。

3. 凸优化问题

优化问题的标准形式

min  f0(x)s.t.  fi(x)0,i=1,2,,mhi(x)=0,i=1,2,,p(3-1)\begin{aligned} min\ \ &f_0(x)\\ s.t.\ \ &f_i(x)\leq 0,i=1,2,\cdots,m\\ &h_i(x)=0,i=1,2,\cdots,p\\ \tag{3-1} \end{aligned}

我们称xRnx\in R^n优化变量,称函数f0:RnRf_0:R^n\rightarrow R为为目标函数或代价函数;不等式fi(x)0f_i(x)\leq 0称为不等式约束,hi:RnRh_i:R^n\rightarrow R称为等式约束。优化问题的定义域是目标函数和约束函数的定义域的交集。满足约束条件的定义域中的点称为可行点;所有可行点的集合称为可行集。 问题(31)(3-1)的最优值pp^{\star}定义为:

p=inf{f0(x)fi(x)0,i=1,2,,m,hi(x)=0,i=1,2,,p}(3-2)\begin{aligned} p=\inf\{&f_0(x)|\\ &f_i(x)\leq 0,i=1,2,\cdots,m,h_i(x)=0,i=1,2,\cdots,p\}\\ \tag{3-2} \end{aligned}

如果问题不可行,则p=p^{\star}=\infty

凸优化问题的标准形式

min  f0(x)s.t.  fi(x)0,i=1,2,,maiTx=bi,i=1,2,,p(3-3)\begin{aligned} min\ \ &f_0(x)\\ s.t.\ \ &f_i(x)\leq 0,i=1,2,\cdots,m\\ &a_i^Tx=b_i,i=1,2,\cdots,p\\ \tag{3-3} \end{aligned}

其中,f0,f1,,fmf_0,f_1,\cdots,f_m是凸函数 凸优化问题与一般优化问题的标准形式的区别在于以下三点:

  • 目标函数必须是凸的
  • 不等式约束函数必须是凸的
  • 等式约束函数必须是仿射函数

至于为什么等式约束必须是仿射函数,这里有个直观的解释:等式约束可以看成要同时满足hi(x)0h_i(x)\leq 0hi(x)0-h_i(x)\leq 0,为了满足不等式约束的条件,要求hi(x)h_i(x)同时是凸函数和凹函数,这样的函数只能是仿射函数。

凸优化问题有一个很好的性质:任意局部最优解也是全局最优解。 对于无约束条件的凸优化问题,xx是其最优解的充要条件是:

f0(x)=0(3-2)\nabla f_0 (x)=0 \\ \tag{3-2}