常见凸集
凸集的定义:设集合\(D\in \mathbf{R}^n\),若对于任意两点\(x,y\in D\),以及实数\(\alpha(0\leq\alpha\leq1)\),都有:
则称集合\(D\)为凸集
仿射集合:如果集合\(C\in \mathbf{R}^n\)中任意两个不同点之间直线上的点仍然在集合\(C\)中,那么称集合\(C\)是仿射的。
凸锥:如果对于任意\(x\in C\)和\(\theta\geq 0\)都有\(\theta x\in C\),我们称集合\(C\)是锥或者非负齐次。如果集合\(C\)是凸的,则称\(C\)为凸锥,即对于任意\(x_1, x_2\in C\)和\(\theta_1, \theta_2\geq 0\),都有
超平面:超平面是具有下面形式的集合
其中\(a\in \mathbf{R}^n, a\neq 0\)且\(b\in \mathbf{R}\)。这里\(a^Tx_0=b\),进一步地\(a^T(x-x_0)=0\),所以\(a\)是\(x-x_0\)的法向量,超平面如上图所示。解析地,超平面是关于\(x\)的非平凡线性方程的解空间(因此是一个仿射集合)。\(\{x|a^Tx\leq b\}\)称为半平面,半平面是凸的,但不是仿射的。
Euclid球和椭球:\(\mathbf{R}^n\)空间中的Euclid球(或简称为球)具有下面的形式,
其中\(r>0\),\(\Vert \cdot \Vert_2\)表示Euclid范数,也即\(\Vert u\Vert_2=(u^Tu)^{1/2}\),向量\(x_c\)是球心,标量\(r\)为半径。Euclid球的另一个常见的表达式为,$$B(x_c,r)={x_c+ru|~\Vert u\Vert_2\leq 1}$$Euclid球是凸集。
椭球具有如下形式,$$\epsilon={x|(x-x_c)TP(x-x_c)\leq 1}$$
其中\(P=P^T\succ 0\),也即\(P\)是对称正定矩阵,\(x_c\)为椭球的中心。椭球的另外一种表示形式为\(\epsilon=\{x_c+Au~|~\Vert u\Vert_2\leq 1\}\),其中\(A\)是非奇异的方阵,且\(A=P^{1/2}\)。
单纯形:设\(k+1\)个点\(v_0, ..., v_k\in \mathbf{R}^n\)仿射独立,即\(v_1-v_0, ..., v_k-v_0\)线性独立,那么这些点决定了一个单纯形如下 $$C={\rm conv}{v_0, ..., v_k}={\theta_0v_0+\cdots+\theta_kv_k|\theta\succeq0,\bf{1}^T\theta=1}$$这个单纯形的仿射维数为\(k\),因此也称为\(\mathbf{R}^n\)空间的\(k\)维单纯形。
单纯形是代数拓扑中最基本的概念。单纯形是三角形和四面体的一种泛化,一个k维单纯形是指包含 k+1个节点的凸多面体。
用\(S^n\)表示对称\(n\times n\)矩阵的集合,即
用\(S^n_+\)表示对称半正定矩阵的集合,即
用\(S^n_{++}\)表示对称正定矩阵的集合,即
集合\(S^n_+\)是一个凸锥:如果\(\theta_1, \theta_2\geq 0\)并且\(A, B\in S^n_+\),那么\(\theta_1A+\theta_2B\in S^n_+\)
常见集合的保凸运算
1、交集:任意有限个甚至无限个凸集的交集运算是保凸的。
2、仿射变换:函数\(f : \mathbf{R}^n\rightarrow \mathbf{R}^m\) 是仿射的,如果它是一个线性函数和一个常数的和,即具有\(f(x)=Ax+b\) 的形式,其中\(A\in \mathbf{R}^{m\times n}, b\in \mathbf{R}^m\)。特别地,如果\(S\subseteq \mathbf{R}^n\)是凸集,\(\alpha\in \mathbf{R}\)并且\(\alpha\in \mathbf{R}^n\),那么集合\(\alpha S\)(伸缩变换)和\(S+\alpha\)(平移变化)都是凸的。
3、求和运算:多个凸集求和仍然是凸集。
4、透视函数:\(P : \mathbf{R}^{n+1}\rightarrow \mathbf{R}^n, P(z,t)=z/t\)为透视函数,其定义域为\({\rm dom} P=\mathbf{R}^n\times \mathbf{R}_{++}\),透视函数对向量进行伸缩或称为规范化,使得最后一维分量为1并舍弃之,也即降维。如果透视函数的定义域\(A\)为凸集,那么经过透视函数作用后 \(P(A)\) 也是凸集(保凸性)。
5、线性分式函数:由透视函数和仿射函数复合而成,设\(g : \mathbf{R}^n\rightarrow \mathbf{R}^{m+1}\)是仿射的,即
其中\(A\in \mathbf{R}^{m\times n}, b\in \mathbf{R}^m, c\in \mathbf{R}^n\),并且\(d\in \mathbf{R}\),给出复合函数\(f=P(g) : \mathbf{R}^n\rightarrow \mathbf{R}^m\)
可见线性分式函数将维度从\(n\)为降到\(m\)维。线性分式函数具有保凸性。
对偶锥与广义不等式
对偶锥:令\(K\)为一个锥。集合
称为\(K\)的对偶锥。\(K^\ast\)是一个锥,并且它总是凸的(即使\(K\)不是凸锥)。
对偶锥的性质:
- \(K^\ast\)是闭凸锥
- \(K_1\subseteq K_2\)可导出\(K_2^\ast\subseteq K_1^\ast\)。
- 如果\(K\)有非空内部,那么\(K^\ast\)是尖的。
- 如果\(K\)的闭包是尖的,那么\(K^\ast\)有非空内部
- \(K^{\ast\ast}\)是\(K\)的凸包的闭包。(因此,如果\(K\)是凸和闭的,则\(K^{\ast\ast}=K\))
广义不等式:正常锥 \(K\) 可以用来定义广义不等式,即 \(\mathbf{R}^n\) 上的偏序关系,定义如下,
当 \(K=\mathbf{R}_+\) 时,偏序关系 \(\succeq K\) 就是通常意义上 \(\mathbf{R}\) 中的序 \(\geq\)。
凸函数
凸函数的定义
凸函数定义:设\(f(x)\)为定义在凸集合\(D\)上的函数,对于\(D\)上任意两点\(x_1,x_2\in D\)和任意实数\(\lambda\in[0,1]\),总有:
凸函数的判断方法:
(1)一阶条件:dom \(f\) 是凸集且对于任意 \(x, y\in\) dom \(f\),满足\(f(y)\geq f(x)+\nabla f(x)^T(y-x)\)(如果是严格凸则去掉“=”)
(2)二阶条件:函数\(f\)是二阶可微,也即它的 Hessian 矩阵或者二阶导数 \(\nabla^2f\) 存在,则函数 \(f\) 是凸函数的充要条件是它的 Hessian 矩阵半正定(也即 \(\nabla^2f(x)\succeq 0\))
Hessian矩阵:若\(n\)元函数\(f(x)\)具有二阶偏导数,也即\(\frac{\partial^2 f(x)}{\partial x_i\partial x_j}\)都存在,则称矩阵
为\(f(x)\)在\(x\)处的 Hessian 矩阵
常见的凸函数:
- 指数函数.
- 对数函数 \(f(x)=\log_ax\),当 \(0<a<1\) 时 \(f(x)\) 是单调递减凸函数,当 \(a>1\) 时 \(f(x)\) 是单调递增凹函数。
- 幂函数,当\(a\geq1\)或者\(a\leq0\)时,\(x^a\)在凸集\(D\)是凸函数,当\(0\leq a\leq1\)时,\(x^a\)在凸集\(D\)是凹函数
- 绝对值幂函数,当\(p\geq1\)时,函数\(|x|^p\)在\(\mathbf{R}\)上是凸函数
- 有限个凸函数的非负加权求和:\(\sum_{i=1}^n\omega_if_i(x)\),其中\(\omega_i\geq0\),\(f_i(x)\)为凸函数
- 仿射变换:仿射变换(\(f(x)=Ax+b\))具有保凸性,也即只要\(f(x)\)是仿射变换,\(g(x)\)是凸函数,那么\(g(f(x))\)和\(f(g(x))\)都是凸函数
- 负对数函数(\(-\log{x}\))在凸集\(D\)上是凸函数
- 负熵,函数\(x\log{x}\)在凸集\(D\)上是凸函数
- 范数,\(\mathbf{R}^n\)上任意范数都是凸函数
- 最大值函数和上确界函数
- 二次-线性分式函数:例如函数\(f(x,y)=x^2/y\),其定义域为 dom \(f=\mathbf{R}\times \mathbf{R}_{++}=\{(x,y)\in \mathbf{R}^2~|~y>0\}\)
- 指数和的对数,函数\(f(x)=\log(e^{x_1}+\dots+e^{x_n})\)在\(\mathbf{R}^n\)上是凸函数
- 几何平均函数,函数\(f(x)=(\prod_{i=1}^nx_i)^{1/n}\) 是凹函数
- 对数-行列式:函数 \(f(X)=\log\det X\) 在定义域 dom \(f=S^n_{++}\) 是凹函数
- 对称矩阵的最大特征值,函数\(f(X)=\lambda_{\rm max}(X)\),因为:\(\lambda_{\rm max}(X)=\sup\big\{y^TXy~\big |~\Vert y\Vert_2=1\big\}\)
补充:一个函数的原函数和反函数的单调性相同,但是凹凸性之间没有联系。
下水平集
函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}\) 的 \(\alpha-\) 下水平集定义为 $$C_{\alpha}={x\in {\rm dom} f|f(x)\leq\alpha}$$
对于任意 \(\alpha\) 值,凸函数的下水平集仍然是凸集。 例如集合 \(\{x\in \mathbf{R}^n_+~|~G(x)\geq \alpha A(x)\}\),其中 \(0\leq\alpha\leq 1\), \(G(x)=\Big(\prod_{i=1}^nx_i\Big)^{1/n}\),\(A(x)=\frac{1}{n}\sum_{i=1}^nx_i\),该集合是凸集,因为它是凹函数 \(G(x)-\alpha A(x)\) 的0-上水平集。反过来不一定正确:某个函数的所有下水平集都是凸集,但是这个函数可能不是凸函数 (后面将给出这样的函数定义为"拟凸函数")。
上镜图
函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}\) 的图像定义为 $${(x, f(x))|x\in {\rm dom} f}$$ 它是 \(\mathbf{R}^{n+1}\) 空间的一个子集。函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}\) 的上镜图定义为 $${\rm epi} f ={(x, t)|x\in{\rm dom} f, f(x)\leq t}$$ 它也是 \(\mathbf{R}^{n+1}\) 空间的一个子集。与上镜图相对应的是亚图:$${\rm hypo} f ={(x, t)|x\in{\rm dom} f, t\leq f(x)}$$
凸集和凸函数的联系可以通过上镜图和亚图来建立:一个函数是凸函数,当且仅当其上镜图是凸集;一个函数是凹函数,当且仅当其亚图是凸集。这些关系可以用下图所示
运用上镜图可以判断矩阵分式函数 \(f : \mathbf{R}^n\times S^n\rightarrow \mathbf{R}\),$$f(x, Y)=xTYx$$在定义域 dom \(f=\mathbf{R}^n\times S^n_{++}\) 上是凸的,这是因为 $${\rm epi} f={(x, Y, t)|Y\succ 0, xTYx\leq t}=\Big{(x, Y, t)~\Big |~\begin{bmatrix}Y & x\ x^T & t\ \end{bmatrix}\succeq 0, Y\succ 0\Big}$$ 利用 Schur 补条件容易判断分块矩阵 \(\begin{bmatrix}Y & x\\ x^T & t\\ \end{bmatrix}\)经过行初等变换得到\(\begin{bmatrix}Y & x\\ 0 & t-x^TY^{-1}x\\ \end{bmatrix}\),所以原矩阵分式函数是凸的等价于上镜图是凸集,并进一步等价于矩阵\(\begin{bmatrix}Y & x\\ x^T & t\\ \end{bmatrix}\)是半正定且\(Y\)是正定的。
常见函数保凸运算
- 有限个凸函数的非负加权求和运算:\(\sum_{i=1}^n\omega_if_i(x)\),其中\(\omega_i\geq0\),\(f_i(x)\)为凸函数
- 如果固定\(y\in A\),函数\(f(x,y)\)关于\(x\)是凸函数,且满足\(\omega(y)\geq0\),则函数\(g(x)=\int_A\omega(y)f(x,y)\)是凸函数
- 多个凸函数的逐点最大值:\(f(x)=\max\{f_1(x), f_2(x)\}\),其中 \(f_1(x), f_2(x)\) 均为凸函数
- 分片线性函数:多个线性函数求最大值(可以推广到上确界)。矩阵的最大特征值 \(f(x)=\sup\{y^TXy~|~\Vert x-y \Vert_2=1\}\).
- 复合仿射变换:\(f(x)\)是仿射变换(\(f(x)=Ax+b\)),\(g(x)\)是凸函数,那么\(g(f(x))\)和\(f(g(x))\)都是凸函数
- 复合函数:\(f(x)=h(g(x))\),
如果 \(h\) 是凸函数且非减, \(g\) 是凸函数,则 \(f\) 是凸函数;
如果 \(h\) 是凸函数且非增, \(g\) 是凹函数,则 \(f\) 是凸函数;
如果 \(h\) 是凹函数且非减, \(g\) 是凹函数,则 \(f\) 是凹函数;
如果 \(h\) 是凹函数且非增, \(g\) 是凸函数,则 \(f\) 是凹函数。 - Schur 补函数:设二次函数\(f(x,y)=x^TAx+2x^TBy+y^TCy\),其中\(A\)和\(C\)为对称矩阵,则\(f(x,y)\)关于\((x,y)\)为凸函数
共轭函数
设函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}\),定义函数 \(f^\ast : \mathbf{R}^n\rightarrow \mathbf{R}\) 为
此函数称为函数 \(f\) 的共轭函数。容易知道无论 \(f(x)\) 是否是凸函数,它的共轭函数 \(f^\ast(y)\) 一定是一个凸函数。
如何求解共轭函数? 假设有函数 \(f(x) = x^TQx/2\),其中 \(Q\) 是可逆的对称阵,根据定义有:\(f^\ast(y)=\sup\{y^Tx- x^TQx/2\}\),现在用 \(f^\ast(y)\) 对 \(x\) 求导并令其为0得到 \(y-Qx=0\),所以 \(x=Q^{-1}y\) ,代入得共轭函数为 \(f^\ast(y)= y^TQ^{-1}y/2\).
Fenchel 不等式:根据共轭函数的定义可以得到,对任意 \(x\) 和 \(y\),如下不等式成立:
上述不等式称为 Fenchel 不等式 (当 \(f\) 可微时也称为 Young 不等式)。
上面例子中 \(f(x) = x^TQx/2\) 的共轭函数为 \(f^\ast(y)= y^TQ^{-1}y/2\),利用 Fenchel 不等式可以得到:\(f(x)+f^\ast(y)=x^TQx/2+y^TQ^{-1}y/2\geq x^Ty\)
共轭函数的性质:
- 凸函数的共轭函数的共轭函数是这个凸函数本身。
- 独立凸函数的和的共辄函数是各个凸函数的共辄函数的和。("独立"的含义是各个函数具有不同的变量)
拟凸函数
拟凸函数的定义
函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}\) 称为拟凸函数 (或者单峰函数),如果其定义域及所有下水平集
都是凸集。函数 \(f\) 是拟凹函数,如果 \(-f\) 是拟凸函数,即每个上水平集 \(\{x~|~f(x)\geq\alpha\}\) 是凸集。若某函数既是拟凸函数又是拟凹函数,其为拟线性函数。函数是拟线性函数,如果其定义域和所有的水平集 \(\{x~|~f(x)=\alpha\}\) 都是凸集。如下图所示单峰函数,函数 \(f(x)\) 是关于 \(\alpha\) 和 \(\beta\) 的拟凸函数。
根据拟凸函数的定义,函数值小于某个常数的定义域区间构成凸集,显然对于多峰函数,存在多段不相连的定义域区间内函数值满足小于某个常数值,而这些区间因为不连通自然不是凸集,所以多峰函数不是拟凸函数。
因为 \(\mathbf{R}\) 上的单峰函数在任意的有界闭区间内同样也是单峰函数,此外单峰函数的最大值点一定在边界处取得,所以我们容易得到:函数 \(f\) 是拟凸函数的充要条件是,\({\rm dom} f\) 是凸集,且对于任意 \(x, y\in {\rm dom} f\) 及 \(0\leq\theta\leq 1\) 有
即线段中任意一点的函数值不超过其端点函数值中最大的那个。
\(\mathbf{R}\) 上的拟凸函数:连续函数 \(f : \mathbf{R}\rightarrow \mathbf{R}\) 是拟凸的,当且仅当下述条件至少有一个成立,
- 函数 \(f\) 是非减的;
- 函数 \(f\) 是非增的;
- 存在一点 \(c\in{\rm dom} f\),使得对于 \(t\leq c\)(且 \(t\in{\rm dom} f\)),\(f\) 非增,对于\(t\geq c\)(且 \(t\in{\rm dom} f\)),\(f\) 非减。
以上三个条件本质上是对单峰函数的三种可能情况的描述。
可微的拟凸函数:
一阶条件:设函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}\) 可微,则函数 \(f\) 是拟凸的充要条件是,\({\rm dom} f\) 是凸集,且对于任意 \(x, y\in {\rm dom} f\) 有
凸函数和拟凸函数都是单峰函数,但是凸函数还要求这个单峰函数上点的斜率是单调递增的,而拟凸函数则不需要此条件,这就导致了凸函数导数为0的点最多只有一个且一定是全局最小点,而拟凸函数导数为0的点可能有多个且不是全局最小点。
二阶条件:假设函数 \(f\) 二次可微。如果函数 \(f\) 是拟凸函数,则对于任意 \(x\in {\rm dom} f\) 以及任意 \(y\in \mathbf{R}^n\) 有
对于定义在 \(\mathbf{R}\) 上的拟凸函数,上述条件可以简化为如下条件,
即在斜率为零的点,二阶导数是非负的。
保拟凸运算
一些常见的保拟凸运算有:
- 非负加权求最大值函数:\(f=\max\{\omega_1f_1,..., \omega_mf_m\}\),其中 \(\omega_i\geq 0\),\(f_i\) 是拟凸函数。
- 复合函数:如果函数 \(g : \mathbf{R}^n\rightarrow \mathbf{R}\) 是拟凸函数,且函数 \(h : \mathbf{R}\rightarrow \mathbf{R}\) 是非减的,则复合函数 \(f = h \circ g\) 是拟凸函数。
- 最小化:如果函数 \(f(x,y)\) 是 \(x\) 和 \(y\) 的联合拟凸函数,且 \(C\) 是凸集,则函数
是拟凸函数。
4. 凸凹函数之比:设 \(p\) 是凸函数,\(q\) 是凹函数,在凸集 \(C\) 上,\(p(x)\geq 0, q(x)>0\) 。在集合 \(C\) 上定义函数 \(f(x)= p(x)/q(x)\),则 \(f\) 是拟凸函数。
对数-凹函数和对数-凸函数
称函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}\) 对数凹或对数-凹,如果对所有的 \(x\in{\rm dom} f\) 有 \(f(x)>0\) 且 \(\log f\) 是凹函数。称函数对数凸或者对数-凸,如果 \(\log f\) 是凸函数。
对数-凹函数的性质:函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}\),其定义域是凸集,且对于任意 \(x\in {\rm dom} f\) 有 \(f(x)>0\),函数是对数-凹的,当且仅当对任意 \(x,y\in {\rm dom} f\),\(0\leq\theta\leq 1\) 有
特别地,取 \(\theta=1/2\) 有:对数-凹函数在两点之间中点的函数值不小于这两点的函数值的几何平均值。
一些常见对数-凹函数和对数-凸函数
- 函数值大于0的仿射函数
- 幂函数:函数 \(f(x)=x^{\alpha}\) 在 \(\mathbf{R}_{++}\) 当 \(\alpha\leq 0\) 时是对数-凸函数,当 \(\alpha\geq 0\) 时是对数凹函数。
- 指数函数:\(f(x)=e^{\alpha x}\) 既是对数-凸函数也是对数-凹函数。
- Gauss概率密度函数的累积分布函数:\(\Phi(x)=\frac{1}{\sqrt{2\pi}}\int_{-\infty}^xe^{-u^2/2}du\)
- 行列式:\(\det X\) 在 \(S^n_{++}\) 上是对数-凹函数
- 行列式与迹之比。\(\det X/\mathbf{tr} X\) 在 \(S^n_{++}\) 上是对数-凹函数
二次可微的对数-凸函数/凹函数
函数 \(f\) 二次可微,则它是对数-凸函数的充要条件是 \(f(x)\nabla^2f(x)\succeq\nabla f(x)\nabla f(x)^T\),\(f\) 是对数-凹函数的充要条件是 \(f(x)\nabla^2f(x)\preceq\nabla f(x)\nabla f(x)^T\)。
对数-凹函数和对数-凸函数的性质
- 对数-凸性以及对数-凹性对乘积以及正的伸缩运算是封闭的。例如,函数 \(f\) 和 \(g\) 都是对数-凹函数,那么 \(h=f\cdot g\) 仍然是对数-凹函数,这是因为 \(\log h=\log f+\log g\),利用凹函数对加法的封闭性可以得出此结论。
- 对数-凹函数的和一般不是对数-凹函数。然而,对数-凸函数的和仍然是对数-凸函数。例如,函数 \(F=\log f\) 和 \(G=\log g\),其中 \(f, g\) 都是对数-凸函数,所以 \(F, G\) 都是凸函数,而 \(h=\log(f+g)=\log(e^F+e^G)\),根据凸函数复合函数的性质知 \(h\) 仍然是凸函数,因此 \(f+g\) 是对数-凸函数。更一般地,如果对任意 \(y\in C, f(x,y)\) 是 \(x\) 的对数-凸函数,则函数 \(g(x)=\int_Cf(x,y)dy\) 是对数-凸函数,例如非负函数的Laplace变换:\(P(z)=\int p(x)e^{-z^Tx}dx\) 是 \(\mathbf{R}^n\) 上的对数-凸函数。
- 如果函数 \(f(x,y) : \mathbf{R}^N\times \mathbf{R}^m\rightarrow \mathbf{R}\) 是对数-凹函数,则 \(g(x)=\int f(x,y)dy\) 在 \(\mathbf{R}^n\) 是 \(x\) 对数-凹函数。该结论具有重要意义,根据此结论可知对数-凹的概率密度分布函数的边际分布仍然是对数-凹的。此外,对数-凹的性质对卷积运算是封闭的,即如果函数 \(f\) 和 \(g\) 在 \(\mathbf{R}^n\) 上是对数-凹的,则它们的卷积:\((f\ast g)(x)=\int f(x-y)g(y)dy\) 仍然是对数-凹函数。例如概率密度函数的累积分布函数:\(f : \mathbf{R}^n\rightarrow \mathbf{R}\) 定义为 \(F(x)=\mathbf{prob}(w\leq x)=\int_{-\infty}^{x_n}\cdots \int_{-\infty}^{x_1}f(z)dz_1\cdots dz_n\),其中 \(w\) 是随机变量,具有概率密度函数 \(f\)。如果函数 \(f\) 是对数-凹函数,那么 \(F\) 是对数-凹的。
广义不等式的凸性
广义不等式的单调性:设 \(K\subseteq \mathbf{R}^n\) 是一个正常锥,其相应的广义不等式为 \(\succeq K\),函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}\) 称为 \(K\)-非减,如果下式成立
称为 \(K\)-增,如果下式成立
例如,单调向量函数 \(f(x)\):对于任意的 \(x, y\),满足 \(x_1 \leq y_1, \cdots, x_n \leq y_n \Longrightarrow f(x) \leq f(y)\)。
一阶条件:对于可微函数 \(f\),其定义域为凸集,它是 \(K\)-非减的,当且仅当对于任意的 \(x\in {\rm dom} f\) 有
广义不等式的凸性:设 \(K\subseteq \mathbf{R}^m\) 是一正常锥,相应的广义不等式为 \(\succeq K\) 。函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}^m\) 是 \(K\)-凸的,如果对于任意 \(x, y\),以及 \(0\leq \theta \leq 1\) 有
函数被称为严格 \(K\)-凸的,如果对任意 \(x\neq y\) 和 \(0<\theta<1\) 有
函数复合保留凸性的很多结论都可以推广到 \(K\)-凸的情形。
凸优化问题
凸规划的标准形式:设\(f(x)\)及\(g_i(x),i=1,\dots,m\)均为\(\mathbf{R}^n\)上的凸函数,满足以下条件的规划问题称为凸规划:
或者\(f(x)\)为凹函数,\(g_i(x),i=1,\dots,m\)为\(\mathbf{R}^n\)上的凸函数:
凸优化问题有三个附加的要求:
- 目标函数必须是凸的,
- 不等式约束函数必须是凸的,
- 等式约束函数 \(h_i(x)=a_i^Tx-b_i\) 必须是仿射的。
一个规划问题如果不能等价于以上两种形式的规划问题,那么这个规划问题是非凸规划问题。
凸优化问题的等价问题
常用等价变换的方法:
- 变量变换:利用变量变换 \(z=\phi(x)\) 将原始关于 \(x\) 的优化问题化为关于 \(z\) 的优化问题,求解出 \(z\),再利用 \(x=\phi^{-1}(x)\) 反解出 \(x\)
- 松弛变量:引入松弛变量,将不等式约束化为等式约束
- 消除等式约束:利用原优化问题的等式条件 \(h_i(x)=0, i=1, \dots, p\) 化简为 \(x=\phi(z)\),再将 \(\phi(z)\) 代替 \(x\) 带入原优化问题中 (等式条件恒满足,因此可以去掉)
- 优化部分变量:利用一些变量的独立性 (通过约束条件判断),例如原问题中变量为 \(x_1, \dots, x_10\),其中 \(x_1, \dots, x_5\) 和 \(x_6, \dots, x_{10}\) 之间独立,那么可以将原优化问题化为两个子优化问题,其中一组变量为 \(x_1, \dots, x_5\),另一组为 \(x_6, \dots, x_{10}\)
- 上镜图问题形式:
理解:原问题约束变量为 \(x\),上镜图形式问题的约束变量为 \(x, t\)。在对 \(x\) 的约束下,我们在 \(f(x)\) 的上境图中极小化 \(t\) (如下图所示)
凸优化的性质
凸优化问题的一个基础性质是其任意局部最优解也是(全局)最优解。对于拟凸优化问题,局部最优解不一定是全局最优解。
可微函数 \(f_0\) 的最优性准则:设凸优化问题的目标函数 \(f_0\) 是可微的,对于所有的 \(x,y\in {\rm dom~}f_0\) 有
令 \(X\) 表示其可行集,\(x\) 是最优解,当且仅当 \(x\in X\) 且
如果可行域为 \(\mathbf{R}\),显然最优解的条件为 \(\nabla f_0(x)=0\),对于可行域有界情况,此时最优解满足条件 (最优解的充要条件) \(\nabla f_0(x)^T(y-x)\geq 0\)
只含等式约束的问题:考虑优化问题:
利用最优解的条件 \(f_0(x)^T(y-x)\geq 0\) 可以得到以上等式约束的优化问题最优解的条件:\(\nabla f_0(x)+A^Tv=0\),其中 \(v\in \mathbf{R}^p\) 且 \(v\in \mathcal{N}(A)\) (\(\mathcal{N}(A)\) 表示算子 \(A\) 的零空间),这是经典的 Lagrange 乘子最优性条件。(推导过程见 P135)
只含不等式约束的问题:考虑优化问题:
利用最优解的条件 \(f_0(x)^T(y-x)\geq 0\) 可以得到以上不等式约束的优化问题最优解的条件:\(x\succeq 0, \nabla f_0(x)\succeq 0, x_i(\nabla f_0(x))_i=0, i=1, \dots, n\)。
拟凸优化问题:可以通过一族凸不等式来表示拟凸函数的下水平集,这是解决拟凸优化问题的一般方法。令 \(\phi_t : \mathbf{R}^n\rightarrow \mathbf{R}, t\in \mathbf{R}\) 为满足
线性规划问题
线性规划问题的一般形式:
分片线性极小化:
考虑极小化(无约束)分片线性凸函数的问题:
该问题可以利用上镜图化为线性规划
进一步地,
线性分式规划问题:
其中目标函数为
如何将以上非凸规划问题转化为线性规划问题呢?
通过观察我们发现目标函数是由线性函数经过变换得到的,不妨引入新变量将目标函数转化为线性函数,令
其中,\(x=y/z\)。将以上变换带入原优化问题中可以得到如下等价的线性优化问题
其中 \(y, z\) 为优化变量。
广义线性分式规划
线性分式规划的一个推广是广义线性分式规划,其中
该问题是分片线性极小化问题和线性分式规划问题的组合形式,可以转化为相应的线性规划问题。
二次优化问题
二次优化问题:
当凸优化问题的目标函数是凸二次型并且约束函数为仿射时,该问题称为二次规划(QP),二次规划可以表述为
其中 \(P\in S_+^n, G\in \mathbf{R}^{m\times n}\) 并且 \(A\in \mathbf{R}^{p\times n}\)
例如,最小二乘以及回归都是二次规划问题。
二阶锥规划:
一个与二次规划紧密相关的问题是二阶锥规划(SOCP):
其中,\(x\in \mathbf{R}^n\) 为优化变量,\(A_i\in \mathbf{R}^{n_i\times n}\) 且 \(F\in \mathbf{R}^{p\times n}\)。二阶锥规划问题是很多优化问题的一般形式(如鲁棒线性规划,随机约束线性规划,极小曲面问题)。
几何规划
几何规划自然的形式不是凸的,但是可以通过一些变换将其转化为凸优化问题。
单项式与正项式的定义:函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}, {\rm dom}~f=\mathbf{R}^n_{++}\) 定义为
其中 \(c>0, a_i\in \mathbf{R}\)。它被称为单项式函数或者简称单项式。单项式的和被称为正项式函数或者简称正项式,它具有以下形式
其中 \(c_k>0\)。
几何规划:具有下列形式的优化问题
被称为几何规划(GP),其中 \(f_0,\dots,f_m\) 为正项式,\(h_1,\cdots, h_p\) 为单项式,定义域为 \(\mathcal{D}=\mathbf{R}_{++}^n\)
一个优化问题如果具有以下一些特征:
- 优化问题的目标函数和约束都是多项式
- 约束具有正多项式形式
- 等式约束必须是单项式,不等式约束可以是单项式也可以是正项式。
那么就有可能转化为几何规划。
几何规划与凸优化
几何规划一般不是凸优化问题,但是可以通过转换将几何规划问题转化为凸优化问题。
对于包含 \(x\) 的单项式函数,即
利用变换 \(y_i=\log x_i\) 有 \(x_i=e^{y_i}\),将此式带入到 \(f(x)\) 中得
其中 \(b=\log c\)。
类似地,可以将以下正项式
转化为
所以原始的几何规划问题可以转化为以下问题
对比一下以上问题和凸优化问题的差别,虽然以上问题的目标函数和不等式约束都是凸函数,但是凸优化还要求不等式约束的右端项为0以及等式部分是仿射的,为了将以上问题化为等价的凸优化形式,不妨对以上优化问题的目标函数和约束函数取对数进行转换(由于目标函数是单调递增的凸函数,目标函数部分其实可以不用取对数),从而得到如下凸形式的优化问题
以上凸优化问题的解 \(y\) 即是几何规划问题的解,再利用 \(x_i=e^{y_i}\) 即可求出原问题的解 \(x\)。
常见几何规划问题:
- 矩阵谱半径优化问题。设矩阵 \(A\in \mathbf{R}^{n\times n}\) 的元素非负且不可约。Perron-Frobenius 定理表明矩阵 \(A\) 的最大正实数特征根 \(\lambda\) 决定了当 \(k\rightarrow \infty\) 时 \(A^k\) 的增长或消退的渐进速率。其中 \(\lambda>1\) 表示增长,\(\lambda<1\) 表示衰退。
Perron-Frobenius 定理指出 \(\lambda\) 满足
其中不等式 \(Av\preceq\lambda v\) 可以表示为
矩阵特征值优化问题:
矩阵 \(A(x)\) 的元素为某些基本变量 \(x\) 的正项式函数,如何选择 \(x\) 才能使得 \(A(x)\) 的谱半径最小?针对该问题,我们可以写成以下形式
其中第一个约束条件为 Perron-Frobenius 定理导出的条件,第二个关于 \(f_i(x)\) 的约束条件由实际问题给出,且 \(f_i(x)\) 是正项式。以上优化问题的优化变量是 \(x, v, \lambda\)。显然该问题为几何规划问题,可以化为凸优化问题。
对偶
Lagrange 对偶函数
考虑标准形式的优化问题
定义该问题的 Lagrange 函数 \(L : \mathbf{R}^n\times \mathbf{R}^m\times \mathbf{R}^p\rightarrow \mathbf{R}\) 为
其中定义域为 \({\rm dom}~L=\mathcal{D}\times \mathbf{R}^m\times \mathbf{R}^p\)。\(\lambda_i\) 称为第 \(i\) 个不等式约束 \(f_i(x)\leq 0\) 对应的 Lagrange 乘子,\(v_i\) 称为第 \(i\) 个不等式约束 \(h_i(x)=0\) 对应的 Lagrange 乘子。\(\lambda\) 和 \(v\) 称为对偶变量或者 Lagrange 乘子向量。
Lagrange 对偶函数 \(g : \mathbf{R}^m\times \mathbf{R}^p\rightarrow \mathbf{R}\) 为 Lagrange 函数关于 \(x\) 取得最小值:即对 \(\lambda\in \mathbf{R}^m, v\in \mathbf{R}^p\),有
如果 Lagrange 函数关于 \(x\) 无下界,则对偶函数取值为 \(-\infty\)。
最优值的下界:对偶函数构成了(BP)问题最优值 \(p^\ast={\rm minimize}~f_0(x)\) 的下界,即对任意 \(\lambda\succeq 0\) 和 \(v\) 下式成立
虽然以上不等式给出来原优化问题的下界,但是当 \(g(\lambda,v)=-\infty\) 时其意义不大。只有当 \(g(\lambda,v)>-\infty\) 时,对偶函数才能给出 \(p^\ast\) 的一个非平凡下界。称满足 \(\lambda\succeq 0\) 以及 \((\lambda,v)\in {\rm dom}~g\) 的 \((\lambda, v)\) 是对偶可行的。
Lagrange 对偶函数和共轭函数
共轭函数:函数 \(f : \mathbf{R}^n\rightarrow \mathbf{R}\) 的共轭函数 \(f^\ast\) 为
\[f^\ast(y)=\sup\limits_{x\in {\rm dom}~f}(y^Tx-f(x)) \]
考虑如下优化问题,其具有线性不等式以及等式约束,
则以上优化问题的对偶函数表述为
Lagrange 对偶问题定义
对于任意一组 \((\lambda, v)\),其中 \(\lambda\succeq 0\),Lagrange 对偶函数给出了优化问题 (BP) 的最优值 \(p^\ast\) 的一个下界。因此,我们可以得到和参数 \(\lambda, v\) 相关的一个下界,其中 Lagrange 函数得到的最好的下界表述为以下优化问题
问题 (BP) 称为原问题,问题 (DP) 称为原问题的对偶问题。满足 \(\lambda\succeq 0\) 和 \(g(\lambda, v)>-\infty\) 的一组解 \((\lambda, v)\) 称为对偶问题 (DP) 的可行解,其中称 \((\lambda^\ast, v^\ast)\) 是对偶最优解或者最优 Lagrange 乘子,如果它是对偶问题 (DP) 的最优解。
对偶约束:
对偶问题要求对偶函数的上界,显然对偶函数取 \(-\infty\) 的情况是不可取的,因此对偶问题中对偶函数的定义域为
由于对偶函数 \(g\) 是关于 \(\lambda\) 和 \(v\) 的仿射函数,当 \(\lambda\) 和 \(v\) 满足一定的约束条件时对偶函数存在一个下界,这个约束条件就是对偶约束。例如考虑以下的标准线性规划问题
的对偶函数为
可以得到
因为对偶问题要求对偶函数取最大值,而 \(-b^Tv>-\infty\),所以可以排除 \(g(\lambda, v)=-\infty\) 的情况,当 \(g(\lambda, v)=-b^Tv\) 时,约束条件 \(c+A^Tv-\lambda=0\) 就是对偶约束。利用对偶约束,原标准线性规划问题的对偶问题可以表述为
也即
弱对偶性
Lagrange 对偶问题的最优值,我们用 \(d^\ast\) 表示,原问题最优值用 \(p^\ast\) 表示,特别地我们有以下非常重要的不等式
即使原问题不是凸问题,上述不等式仍然成立,这个性质称为弱对偶性。定义差值 \(p^\ast-d^\ast\) 是原问题的最优对偶间隙,它给出了原问题最优值以及通过 Lagrange 对偶函数所能得到的最好(最大)下界之间的差值,最优对偶间隙总是非负的。
对偶问题总是凸问题,当原问题很难求解时,弱对偶性给出了原问题最优值的一个下界。
强对偶性和Slater约束准则
如果等式
成立,即最优对偶间隙为零,那么强对偶性成立。这说明从 Lagrange 对偶函数得到的最好下界是紧的。
对于一般情况,强对偶性不成立。但是如果原问题是凸问题,强对偶性通常(但不总是)成立,很多研究给出了强对偶性成立的条件(除了凸性条件以外),这些条件称为约束准则。
对于满足凸优化条件的(BP)问题,Slater条件描述如下。
Slater条件:存在一点 \(x\in\mathbf{relint}~\mathcal{D}\) 使得下式成立
\[f_i(x)<0, \quad i=1,\cdots,m, \quad Ax=b \]满足上述条件的点称为严格可行,此时强对偶性成立。
注:\(\mathbf{relint}~\mathcal{D}\) 表示区域 \(\mathcal{D}\) 的内部。
Slater定理说明,如果凸优化问题的可行域 \(\mathcal{D}\) 内部(不包括边界)存在一点 \(x\) 满足 \(f_i(x)<0, \quad i=1,\cdots,m, \quad Ax=b\),那么强对偶性成立。特别地,当凸优化问题中不等式约束有些是仿射时,例如约束 \(f_1,\dots, f_k\) 是仿射的,则Slater条件可以进一步改进为:存在一点 \(x\in\mathbf{relint}~\mathcal{D}\) 使得
换言之,仿射不等式部分不需要严格取“小于”符号。
线性规划问题强对偶性都成立。
最优性条件
利用算法求解次最优解
由前面内容我们知道原问题最优目标函数值 \(p^\ast\) 和对偶问题最优目标函数值 \(d^\ast\) 满足:\(d^\ast\leq p^\ast\)。定义原问题和对偶问题目标函数的差值
为原问题可行解 \(x\) 和对偶可行解 \((\lambda, v)\) 之间的对偶间隙,其中原问题和对偶问题的最优解满足:
区间长度即为定义的对偶间隙。
如果对偶间隙为0时,此时 \(x\) 是原问题的最优解,\((\lambda, v)\) 是对偶问题的最优解。利用这一特点,可以在优化算法中给出非启发式停止准则。原问题给定初值 \(x^0\),对偶问题初值为 \((\lambda^0, v^0)\),第 \(k\) 步迭代的可行解为 \(x^k\) 和 \((\lambda^k, v^k)\),如果给定要求的绝对精读 \(\epsilon_{\rm abs}>0\),那么停止迭代,这种方法可以保证算法终止时,\(x^k\) 是 \(\epsilon_{\rm abs}\)-次优。除了利用差值来定义精度外,也可以利用 \(\frac{f_0(x^k)-g(\lambda^k, v^k)}{g(\lambda^k, v^k)}\leq\epsilon\) 来定义算法终止条件。
互补松弛条件
假设 \(x^\ast\) 和 \((\lambda^\ast, v^\ast)\) 分别是原问题和对偶问题的最优解,那么一定满足以下关系
第一行等式说明最优对偶间隙为零,第二行等式是对偶函数的定义,第三行等式显然成立,最后一行等式成立是因为 \(\lambda^\ast_i\geq 0, f_i(x^\ast)\leq 0, i=1,\dots, m\) 以及 \(h_i(x^\ast)=0, i=1,\dots, p\)。因此,当原问题和对偶问题的最优值都可以达到且相等(强对偶性成立),此时以上不等式左边和右边项相等,可以得到以下结论:最优解可达且强对偶性成立时,满足
由于 \(\lambda^\ast_if_i(x^\ast)\) 每一项都是非正数,所以可以得到
以上等式条件称为互补松弛条件。
KKT 最优性条件 (非常重要)
假设函数 \(f_0, \cdots, f_m, h_1, \cdots, h_p\) 可微 (不一定是凸函数)。
非凸问题的 KKT 条件:
令 \(x^\ast\) 和 \((\lambda^\ast, v^\ast)\) 分别是原问题和对偶问题的某对最优解,对偶间隙为零。因为 \(L(x, \lambda^\ast, v^\ast)\) 关于 \(x\) 求极小在 \(x^\ast\) 处取得最小值,因此函数在 \(x^\ast\) 处的导数必须为零,即,
因此我们有
其中
以上条件称为 Karush-Kuhn-Tucker (KKT) 条件
对于目标函数和约束函数可微的任意优化问题,如果强对偶性成立,那么任何一对原问题最优解和对偶问题最优解必须满足 KKT 条件,也即满足 KKT 条件是解是原问题和对偶问题最优解的必要条件。
凸问题的 KKT 条件:
当原问题是凸问题时,满足 KKT 条件的解也是原问题和对偶问题的最优解,且对偶间隙为零。
对于凸优化问题,设 \(x^\ast, \lambda^\ast, v^\ast\) 是任意满足 KKT 条件的点,也即
则 \(x^\ast, \lambda^\ast, v^\ast\) 是原问题和对偶问题的最优解。
无论对于凸优化问题还是非凸优化问题,满足 KKT 条件表明原问题和对偶问题的对偶间隙为零,也即强对偶性成立。
若某个凸优化问题具有可微的目标函数和约束函数,且满足 Slater 条件 (即强对偶性成立),那么 KKT 条件是最优性的充要条件。
KKT 条件在优化领域非常重要,在一些特殊的情形下,是可以解析求解 KKT 条件的 (也因此可以求解优化问题)。
例题:注水问题。考虑以下凸优化问题
其中 \(\alpha_i>0\)。以上问题来源于信息论,将功率分配给 \(n\) 个信道,变量 \(x_i\) 表示分配给第 \(i\) 个信道的发射功率,\(\log(\alpha_i+x_i)\) 是信道的通信能力或者通信速率,上述问题表述为将总功率分配给不同的信道,使得总的通信速率最大。对不等式约束 \(x^\ast\succeq 0\) 引入 Lagrange 乘子 \(\lambda^\ast\in \mathbf{R}^n\),对等式约束 \(\mathbf{1}^Tx=1\) 引入一个乘子 \(v^\ast\in \mathbf{R}\),我们得到如下 KKT 条件
以上条件可以化简为
根据等式条件(松弛条件)进行分类:
- \(x^\ast=0\)。此时有 \(v^\ast\geq 1/(\alpha_i+x_i^\ast)=1/\alpha_i\)
- \(x^\ast>0\)。此时有 \(v^\ast=1/(\alpha_i+x_i^\ast)\),也即 \(x^\ast=1/v^\ast-\alpha_i>0\)。
综上我们有
更简洁地,\(x_i^\ast=\max\{0, 1/v^\ast-\alpha_i\}\),将 \(x^\ast\) 带入条件 \(\mathbf{1}^Tx^\ast=1\) 中得到以下关于 \(v^\ast\) 的方程
容易知道以上方程存在唯一确定解,求解该解的方法称为“注水法”。求解出 \(v^\ast\) 后反带入以上方程中可以得到最优解 \(x^\ast\)。
如果强对偶性成立且存在一个对偶最优解,这时如果当对偶问题比原问题更容易求解时,比如说对偶问题可以解析求解或者有某些特殊的结构更容易分析,通过求解对偶问题具有重要意义。
扰动及灵敏度分析
扰动的问题:
考虑对优化问题 (BP) 进行扰动后的新优化问题
考虑以下(扰动)优化问题
其中,变量 \(x\in \mathbf{R}^n\)。如果 \(u_i=0, v_i=0\),则以上优化问题就是 (BP) 问题,如果 \(u_i\) 和 \(w_i\) 都大于零,则新问题是在 (BP) 问题上进行了放松,如果\(u_i\) 和 \(w_i\) 都小于零,则新问题是在 (BP) 问题上进行了收紧。
定义 \(p^\ast(u, w)\) 为以上扰动优化问题的最优值:
一个重要不等式
设 \((\lambda^\ast, v^\ast)\) 是未扰动的 (BP) 问题的最优解,则对所有的 \(u\) 和 \(w\) 我们有
证明:设 \(x\) 是任意的可行解,则根据强对偶性有
以上第一个不等式由 \(g(\lambda^\ast, v^\ast)\) 的定义得到;第二个不等式由 \(\lambda^\ast\succeq 0\) 以及扰动优化问题的约束得到。利用以上不等式可以直接得到:
灵敏度的简单分析:
- 如果 \(\lambda^\ast_i\) 较大,加强第 \(i\) 个约束(即 \(u_i<0\)),则最优值 \(p^\ast(u, v)\) 必然会大福增加。\(v^\ast\) 的情况和此类似。
- 如果 \(\lambda^\ast_i\) 较小,放松第 \(i\) 个约束(即 \(u_i>0\)),则最优值 \(p^\ast(u, v)\) 不会减小太多。\(v^\ast\) 的情况和此类似。
局部灵敏度分析:
如果 \(p^\ast(u, v)\) 在 \(u=0\) 和 \(v=0\) 处可微且强对偶性成立,最优对偶变量 \(\lambda^\ast\) 和 \(v^\ast\) 可以和 \(p^\ast\) 在 \(u=0, w=0\) 处的梯度联系起来:
证明:假设 \(p^\ast(u,w)\) 可微且强对偶性成立,对于扰动 \(u=te_i\),其中 \(e_i\) 是单位向量,它的第 \(i\) 个分量为1,我们有
根据以上重要的不等式(*),当 \(t>0\) 时,下式成立
同样利用(*)不等式,\(t>0\) 时,下式成立
两边同时取 \(t\rightarrow 0\) 可以得到
利用同样的方法可以得到