Files
josh-blog-source/source/_posts/2024-06-08-josh-cvx-1-2.md
T
2024-06-09 23:19:23 +08:00

17 KiB
Raw Blame History

title, mathjax, comments, copyright, toc, categories, tags, abbrlink, date
title mathjax comments copyright toc categories tags abbrlink date
Josh's Note — 凸优化<br>Part 1.2 凸集—一些重要的凸集 true true true
enable number wrap expand_all max_depth
true false true true 4
Josh 的学习笔记
凸优化
凸集
数学
凸优化
凸优化
凸集
射线
超平面
半空间
Euclid球
椭球
范数球
范数锥
二阶锥
多面体
单纯形
半正定锥
9293b739 2024-06-08 14:57:52

$\newcommand{\bfR}{\mathbf{R}} \newcommand{\bfS}{\mathbf{S}} \newcommand{\TT}{\mathrm{T}} \newcommand{\E}{\mathcal{E}} \newcommand{\P}{\mathcal{P}} \def\conv{\mathop{\bf conv}}$  本文将描述一些重要的凸集。首先介绍一些简单的例子。

  • 空集 $\emptyset$、任意一个点(即单点集(singleton))\{x_0\} 、全空间 \bfR^n 都是 \bfR^n 的仿射(自然也是凸的)子集。

  • 任意直线是仿射的。如果直线通过零点,则是子空间,因此,也是凸锥。

  • 一条线段是凸的,但不是仿射的(除非退化为一个点)。

  • 一条射线(ray),即具有形式 \left\{x_0 + \theta v\ \middle|\ \theta \geqslant 0 \right\}, v \ne 0 的集合,是凸的,但不是仿射的。如果射线的基点 x_0 是 $0$,则它是凸锥。

  • 任意子空间是仿射的、凸锥(自然是凸的)。

1. 超平面与半空间

  超平面(hyperplane)是具有如下形式的集合


\left\{ x\ \middle|\ a^\TT x = b \right\}

其中 a \in \bfR^n, a \ne 0 且 $b \in \bfR$。解析地来看,超平面是关于 x 的非平凡线性方程的解空间(因此是一个仿射集合)。几何上,超平面 \left\{ x\ \middle|\ a^\TT x = b \right\} 可以理解为与给定向量 a 的内积为常数的点的集合;也可以看成法线方向为 a 的超平面,而常数 b \in \bfR 决定了这个平面从原点的偏移。为更好地理解几何含义,可以将超平面表示成


\left\{ x\ \middle|\ a^\TT (x - x_0) = 0 \right\}

其中 x_0 是超平面上的任意一点(即任意满足 a^\TT x_0 = b 的点)。进一步,可以表示为


\left\{ x\ \middle|\ a^\TT (x - x_0) = 0 \right\} = x_0 + a^\perp

其中 a^\perp 表示 a 的正交补,即与 a 正交的向量的集合:


a^\perp = \left\{ v\ \middle|\ a^\TT v = 0 \right\}

从中可以看出,超平面由偏移 x_0 加上所有正交于(法)向量 a 的向量构成,具体可见图 6 。

图 6. \bfR^2 中由法向量 a 和超平面上一点 x_0 确定的超平面。对于超平面上任意一点 $x$,$x - x_0$(如深色箭头所示)都垂直于 $a$。{width=400px}

  一个超平面将 \bfR^n 划分为两个半空间(halfspaces)。(闭的)半空间是具有下列形式的集合,

$$\begin{equation}\label{HalfSpace} \left{x\ \middle|\ a^\TT x \leqslant b \right} \end{equation}



即(非平凡的)线性不等式的解空间,其中 $a\ne 0$。半空间是凸的,但不是仿射的,如[图 7](#图7) 所示。

<a id="图7"></a>

![图 7. $\bfR^2$ 上由 $a^\TT x = b$ 定义的超平面决定了两个半空间。由 a^\TT x \geqslant b 决定的半空间(无阴影)是向 $a$ 扩展的半空间。由 a^\TT x \leqslant b 确定的半空间(阴影所示)向 $-a$ 方向扩展。向量 $a$ 是这个半空间向外的法向量。](../images/post/2024-06-08-josh-cvx-1-2/2024-06-08-josh-cvx-1-2-070-AHyperplaneAndTwoHalfspaces.png){width=400px}

&emsp;&emsp;半空间 $\eqref{HalfSpace}$ 也可以表示为

\left{x\ \middle|\ a^\TT (x - x_0) \leqslant 0 \right}



其中 $x_0$ 是相应超平面上的任意一点,即 $x_0$ 满足 $a^\TT x_0 = b$。上式有一个简单的几何解释:半空间由 $x_0$ 加上任意与(向外的法)向量 $a$ 呈钝角(或直角)的向量组
成,如[图 8](#图8) 所示。

<a id="图8"></a>

![图 8. 阴影所示集合是由 $a^\TT (x - x_0) \leqslant 0$ 决定的半空间。向量 $x_1 - x_0$ 与 $a$ 的夹角为锐角,所以 $x_1$不在这个半空间中。向量 $x_2 - x_1$ 与 $a$ 的夹角为钝角,所以 $x_2$ 在半空间中。](../images/post/2024-06-08-josh-cvx-1-2/2024-06-08-josh-cvx-1-2-080-VectorsAndHalfspaces.png){width=400px}

&emsp;&emsp;半空间 $\eqref{HalfSpace}$ 的边界是超平面 $\left\{x\ \middle|\ a^\TT x = b \right\}$。集合 $\left\{x\ \middle|\ a^\TT x < b \right\}$ 是半空间 $\left\{x\ \middle|\ a^\TT x \leqslant b \right\}$ 的内部,称为**开半空间**(*open halfspace*)。

# 2. Euclid球和椭球

&emsp;&emsp;$\bfR^n$ 中的空间 Euclid 球(*(Euclidean) ball*)(或简称为球)具有下面的形式:

B(x_c,r) = \left{x\ \middle|\ \left| x - x_c \right|_2 \leqslant r \right} = \left{ x\ \middle|\ (x-x_c)^\TT(x-x_c) \leqslant r^2 \right}



其中 $r > O$, $\| \cdot \|_2$ 表示 Euclid 范数,即 $\|u\|_2 = (u^\TT u)^{1/2}$。向量 $x_r$ 是**球心**(*center*),标量 $r$ 为半径。$B (x_c, r)$ 由距离球心 $x_r$ 距离不超过 $r$ 的所有点组成。 Euclid 球的另一个常见的表达式为:

B(x_c,r) = \left{ x_c + ru\ \middle|\ |u|_2 \leqslant 1 \right}



&emsp;&emsp;Euclid 球是凸集,即如果 $\|x_1-x_2\|\leqslant r$,$\|x_2-x_c\|\leqslant r$,并且 $0 \leqslant \theta \leqslant 1$,那么

$$\begin{aligned}
  \left\| \theta x_1 + (1- \theta)x_2 - x_c\right\|_2 &= \left\| \theta(x_1 - x_c) + (1-\theta)(x_2 - x_c)\right\|_2
  \\
  &\leqslant \theta \left\|x_1 - x_c\right\|_2 + (1-\theta) \left\| x_2 - x_c \right\|_2
  \\
  & \leqslant r
\end{aligned}$$

(此处利用了 $\| \cdot \|_2$ 的齐次性和三角不等式。)

&emsp;&emsp;一类相关的凸集是**椭球**(*ellipsoid*),它们具有如下的形式:

$$\begin{equation}\label{ellipsoid-1}
  \E = \left\{ x\ \middle|\ (x-x_c)^\TT P^{-1}(x-x_c) \leqslant 1 \right\}
\end{equation}$$

其中 $P = P^\TT \succ 0$,即 $P$ 是对称正定矩阵。向量 $x_c \in \bfR^n$ 为椭球的中心。矩阵 $P$ 决定了椭球从 $x_c$ 向各个方向扩展的幅度。$\E$ 的半轴长度由 $\sqrt{\lambda_i}$ 给出,这里 $\lambda_i$ 为 $P$ 的特征值。球可以看成 $P =r^2I$ 的椭球。[图 9](#图9) 给出了 $\bfR^2$ 上的一个椭球。

<a id="图9"></a>

![图 9. 阴影所示为 $\bfR^2$ 中的一个椭球。中心 $x_c$ 由点显示,两个半轴由线段显示](../images/post/2024-06-08-josh-cvx-1-2/2024-06-08-josh-cvx-1-2-090-EllipsoidInR2.png){width=300px}

&emsp;&emsp;椭球另一个常用的表示形式是

$$\begin{equation}\label{ellipsoid-2}
  \E = \left\{ x_c + Au\ \middle|\ \|u\|_2 \leqslant 1 \right\}
\end{equation}$$

其中 $A$ 是非奇异的方阵。在此类表示形式中,我们可以不失一般性地假设 $A$ 对称正定。取 $A=P^{1/2}$,这个表达式给出了由式 $\eqref{ellipsoid-1}$ 定义的椭球。当式 $\eqref{ellipsoid-2}$ 中的矩阵 $A$ 为对称半正定矩阵,但奇异时,集合 $\eqref{ellipsoid-2}$ 称为**退化的椭球**(*degenerate ellipsoid*),其仿射维数等于 $A$ 的秩。退化的椭球也是凸的。

# 3. 范数球和范数锥

&emsp;&emsp;设 $\| \cdot \|$ 是 $\bfR^n$ 中的范数。由范数的一般性质可知,以 $r$ 为半径,$x_c$ 为球心的**范数球**(*norm ball*) $\left\{ x\ \middle|\ \|x-x_c\| \leqslant r \right\}$ 是凸的。关于范数 $\| \cdot \|$ 的**范数锥**(*norm cone*)是集合

C = \left{ (x,t) | |t| \leqslant t \right} \subseteq \bfR^{n+1}



顾名思义,它是一个凸锥。

> **举例**&emsp;**二阶锥**(*second-order cone*)是由 Euclid 范数定义的范数锥,即
>
> $$\begin{aligned}
>   C &= \left\{ (x,t) \in \bfR^{n+1}\ \middle|\ \|x\|_2 \leqslant t\right\}
>   \\
>   &= \left\{ \left[\begin{array}{c}
>     x \\ t
>   \end{array} \right]\ \middle|\ \left[\begin{array}{c}
>     x \\ t
>   \end{array} \right]^\TT\left[\begin{array}{c}
>     I & 0 \\ 0 & -1
>   \end{array} \right] \left[\begin{array}{c}
>     x \\ t
>   \end{array} \right] \leqslant 0,\ t\geqslant 0 \right\}
> \end{aligned}$$
>
> 二阶锥的其他名字也常常被使用。它由二次不等式定义,因此也被称为**二次锥**(*quadratic cone*)。同时,也称其为 **Lorentz 锥**(*Lorentz cone*)或**冰激凌锥**(*ice-cream cone*)。[图 10](#图10) 显示了 $\bfR^3$ 上一个的二阶锥。
>
> <a id="图10"></a>
>
> ![图 10. $\bfR^3$  中二阶锥 $\left\{(x_1,x_2,t)\middle| (x_1^2 + x_2^2)^{1/2} \leqslant t\right\}$ 的边界](../images/post/2024-06-08-josh-cvx-1-2/2024-06-08-josh-cvx-1-2-100-BoundaryOfSecondOrderCone.png){width=500px}

# 4. 多面体

&emsp;&emsp;**多面体**(*polyhedron*)被定义为有限个线性等式和不等式的解集:

$$\begin{equation}\label{polyhedron-1}
  \P = \left\{ x\ \middle|\ a_j^\TT x \leqslant b_j,\ j = 1,\cdots,m,\ c_j^\TT x = d_j,\ j = 1,\cdots,p\right\}
\end{equation}$$

因此,多面体是有限个半空间和超平面的交集。仿射集合(例如子空间、超平面、直线)、射线、线段和半空间都是多面体。显而易见,多面体是凸集。有界的多面体有时也称为**多胞形**(*polytope*),但也有一些作者反过来使用这两个概念(即用多胞形表示具有 $eqref{polyhedron}$ 形式的集合,而当其有界时称为多面体)。[图 11](#图11) 显示了一个由五个半空间的交集定义的多面体。

<a id="图11"></a>

![图 11. 多面体 $\P$(阴影所示)是外法向量为 $a_1,\cdots,a_5$ 的五个半空间的交集。](../images/post/2024-06-08-josh-cvx-1-2/2024-06-08-josh-cvx-1-2-110-Polyhydron.png){width=400px}

&emsp;&emsp;可以方便地使用紧凑表达式

$$\begin{equation}\label{polyhedron-2}
  \P = \left\{ x\ \middle|\ Ax \preceq b,\ Cx = d \right\}
\end{equation}$$

来表示 $\eqref{polyhedron-1}$,其中

A = \left[\begin{array}{c} a_1^\TT \ \vdots \ a_m^\TT \end{array}\right],\qquad C = \left[\begin{array}{c} c_1^\TT \ \vdots \ c_p^\TT \end{array}\right]



此处的 $\preceq$ 代表 $\bfR^m$ 上的**向量不等式**(*vector inequality*)或**分量不等式**(*componentwise inequality*):$u \preceq v$ 表示 $u_i \leqslant v_i, i = 1,\cdots, m$。

> **举例**&emsp;**非负象限**(*nonnegative orthant*)是具有非负分量的点的集合,即
>
> $$
> \bfR_+^n = \left\{ x\in\bfR^n\ \middle|\ x_i \geqslant 0,\ i = 1,\cdots,n \right\} = \left\{ x\in \bfR^n\ \middle|\ x \succeq 0 \right\}
> $$
>
> (此处 $\bfR_+$ 表示非负实数的集合,即 $\bfR_+ = \left\{ x\in\bfR\ \middle|\ x \geqslant 0 \right\}$。)非负象限既是多面体也是锥(因此称为**多面体锥**(*polyhedral cone*))。

## 4.1 单纯形

&emsp;&emsp;**单纯形**(*simplex*)是一类重要的多面体。设 $k+1$ 个点 $v_0,\cdots,v_k \in \bfR^n$ 仿射独立,即 $v_1 - v_0, \cdots, v_k-v_0$ 线性独立,那么,这些点决定了一个单纯形:

$$\begin{equation}\label{simplex}
  C = \conv{\{v_0,\cdots,v_k\}} = \left\{ \theta_0v_0 + \cdots + \theta_k v_k\ \middle|\ \theta \succeq 0,\ \mathbf{1}^\TT\theta = 1 \right\}
\end{equation}$$

其中 $\mathbf{1}$ 表示所有分量均为 $1$ 的向量。这个单纯形的仿射维数为 $k$,因此也称为 $\bfR^n$ 空间的 $k$ 维单纯形。

> **举例**&emsp;**一些常见的单纯形。** 1 维单纯形是一条线段;2 维单纯形是一个三角形(包含其内部); 3 维单纯形是一个四面体。
>
> **单位单纯形**(*unit simplex*)是由零向量和单位向量 $\mathbf{0}, e_1,\cdots, e_n \in \bfR^n$ 决定的 $n$ 维单纯形。它可以表示为满足下列条件的向量的集合,
>
> $$
> x \succeq 0,\qquad \mathbf{1}^\TT x\leqslant 1
> $$
>
> **概率单纯形**(*probability simplex*)是由单位向量 $e_1,\cdots, e_n \in \bfR^n$ 决定的 $n — 1$ 维单纯形。它是满足下列条件的向量的集合,
>
> $$
> x \succeq 0,\qquad \mathbf{1}^\TT x= 1
> $$
>
> 概率单纯形中的向量对应于含有 $n$ 个元素的集合的概率分布,$x_i$ 可理解为第 $i$ 个元素的概率。

为用多面体来描述单纯形 $\eqref{simplex}$,我们采用以下步骤将其变换为 $\eqref{polyhedron-2}$ 的形式。由定义可知,$x\in C$ 的充要条件是,对于某些 $\theta\succeq 0, \mathbf{1}^\TT\theta=1$, 有 $x = \theta_0 v_0 + \theta_1 v_1 + \cdots + \theta_k v_k$。等价地,如果定义 $y = (\theta_1,\cdots,\theta_k)$ 和

B = \left[ \begin{array}{c} v_1-v_0 & \cdots & v_k-v_0 \end{array} \right] \in \bfR ^{n\times k}



我们知道 $x\in C$ 的充要条件是

$$\begin{equation}\label{IFFCondition}
  x = v_0 + By
\end{equation}

对于 $y \succeq 0$,\mathbf{1}^\TT y \leqslant 1 成立。注意到 v_0,\cdots,v_k 仿射独立意味着矩阵 B 的秩为 $k$。因此,存在非奇异矩阵 A=(A_1,A_2)\in\bfR^{n\times n} 使得


AB = \left[ \begin{array}{c}
  A_1 \\ A_2
\end{array} \right] B = \left[ \begin{array}{c}
  I \\ 0
\end{array} \right]

用 A 左乘 $\eqref{IFFCondition}$,得到


A_1 x = A_1 v_0 + y,\qquad A_2 x = A_2 v_0

从中可以看出,x\in C 当且仅当 A_2 x = A_2 v_0 并且向量 y = A_1 v_0 - A_1 x 满足 y\succeq 0 和 $\mathbf{1}^\TT y \leqslant 1$。换言之得到了 x\in C 的充要条件,


A_2 x = A_2 v_0, \qquad A_1 x \succeq A_1 v_0, \qquad \mathbf{1}^\TT A_1 x \leqslant 1 + \mathbf{1}^\TT A_1 v_0

这些是 x 的线性等式和不等式,因此,描述了一个多面体。

4.2 多面体的凸包描述

  有限集合 \{v_1,\cdots,v_k\} 的凸包是


\conv\{v_1,\cdots,v_k\} = \left\{ \theta_1 v_1 + \cdots + \theta_k v_k\ \middle|\ \theta \succeq 0, \ \mathbf{1}^\TT \theta = 1 \right\}

它是一个有界的多面体,但是(除非是例如单纯形这样的特殊情况)无法简单地用形如 \eqref{polyhedron-1} 的式子,即用线性等式和不等式的集合将其表示。

  凸包表达式的一个扩展表示是,

$$\begin{equation}\label{ExtendedHull} \left{ \theta_1 v_1 + \cdots + \theta_k v_k\ \middle|\ \theta_1 + \cdots + \theta_m = 1,\ \theta_i\geqslant 0, \ i=1,\cdots,k \right} \end{equation}$$

其中 $m\leqslant k$。此处我们考虑 v_i 的非负线性组合,但是仅仅要求前 m 个系数之和为一。此外,我们可以将 \eqref{ExtendedHull} 解释为点 v_1,\cdots,v_m 的凸包加上点 v_{m+1},\cdots,v_k 的锥包。集合 \eqref{ExtendedHull} 定义了一个多面体,反之亦然,每个多面体都可以表示为此类形式(虽然这一点此处并未证明)。

  “如何表示多面体”这一问题的求解是十分巧妙的,并且有一些非常实用的结果。一个简单的例子是定义在 $\ell_\infty$-范数空间的 \bfR^n 上的单位球,


C = \left\{x\ \middle|\ |x_i| \leqslant 1, \ i = 1,\cdots n\right\}

C 可以由 2n 个线性不等式 \pm e_i^\TT x \leqslant 1 表示为 \eqref{polyhedron-1} 的形式,其中 e_i 表示第 i 维的单位向量。为了将其描述为形如 \eqref{ExtendedHull} 的凸包,需要至少 2^n 个点:


C = \conv\{v_1,\cdots,v_{2^n}\}

其中 v_1,\cdots,v_{2^n} 是以 1 和 -1 为分量的全部向量,共 2^n 个。可见,当 n 很大时,这两种描述方式的规模相差极大。

5. 半正定锥

  用 \bfS^n 表示对称 n\times n 矩阵的集合,即


\bfS^n = \left\{ X \in \bfR ^{n\times n}\ \middle|\ X = X^\TT \right\}

这是一个维数为 n(n + 1)/2 的向量空间。用 \bfS^n_+ 表示对称半正定矩阵的集合:


\bfS^n_+ = \left\{ X \in \bfS^n\ \middle|\ X \succeq 0 \right\}

用 \bfS^n_{++} 表示对称正定矩阵的集合:


\bfS^n_{++} = \left\{ X \in \bfS^n\ \middle|\ X \succ 0 \right\}

(这些符号与 \bfR_+ 相对应:\bfR_+ 表示非负实数,而 \bfR_{++} 表示正实数。)

  集合 \bfS^n_+ 是一个凸锥:如果 \theta_1,\theta_2 \geqslant 0 并且 $A,B\in\bfS^n_+$,那么 $\theta_1 A + \theta_2 B\in\bfS^n_+$。从半正定矩阵的定义可以直接得到:对于任意 $x \in \bfR^n$,如果 $A\succeq 0$,B\succeq 0 并且 $\theta_1,\theta_2 \geqslant 0$,那么有


x^\TT (\theta_1 A + \theta_2 B)x = \theta_1 x^\TT A x + \theta_2 x^\TT Bx \geqslant 0

举例 $\bfS^2$ 上的半正定锥(Positive semidefinite cone)。我们有


X = \left[\begin{array}{c}

x & y \ y & z \end{array}\right] \in \bfS^2_+ \quad \Longleftrightarrow \quad x\geqslant 0, \quad z \geqslant 0, \quad xz\geqslant y^2



[图 12](#图12) 给出了这个锥的边界,按 $(x,y,z)$ 表示在 $\bfR^3$ 中。

<a id="图12"></a>

![图 12. $\bfS^2$ 中半正定锥的边界。](../images/post/2024-06-08-josh-cvx-1-2/2024-06-08-josh-cvx-1-2-120-BoundaryOfPostiveSemidefiniteCone.png){width=500px}

参考文献

  1. Stephen P. Boyd and Lieven Vandenberghe, Convex optimization. Cambridge, UK: Cambridge University Press, 2004.
  2. Stephen P. Boyd and Lieven Vandenberghe, 凸优化. 北京: 清华大学出版社, 2013.