diff --git a/package.json b/package.json index a013d01..f6c1aaf 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "hexo-generator-tag": "^2.0.0", "hexo-helper-live2d": "^3.1.1", "hexo-neat": "^1.0.9", + "hexo-related-posts": "^1.5.2", "hexo-renderer-ejs": "^2.0.0", "hexo-renderer-pandoc": "^0.4.0", "hexo-renderer-stylus": "^3.0.1", diff --git a/source/_posts/2022-03-29-josh-cvx-1-1.md b/source/_posts/2022-03-29-josh-cvx-1-1.md index 7a83ee5..931d509 100644 --- a/source/_posts/2022-03-29-josh-cvx-1-1.md +++ b/source/_posts/2022-03-29-josh-cvx-1-1.md @@ -13,6 +13,9 @@ toc: categories: - - Josh 的学习笔记 - 凸优化 + - 凸集 + - - 数学 + - 凸优化 tags: - 凸优化 - 凸集 @@ -22,7 +25,9 @@ abbrlink: 43146ee9 date: 2022-03-29 11:07:04 --- -$$ +# 1. 直线与线段 + +$ \newcommand{\bfR}{\mathbf{R}} \def\aff{\mathop{\bf aff}} \def\relint{\mathop{\bf relint}} @@ -30,11 +35,7 @@ $$ \def\conv{\mathop{\bf conv}} \newcommand{\dd}{\mathrm{d}} \newcommand{\prob}{\mathbf{prob}} -$$ - -# 1. 直线与线段 - -  设 $x_1 \ne x_2$ 是 $\bfR^n$ 空间中的两个点,则具有下列形式的点 +$  设 $x_1 \ne x_2$ 是 $\bfR^n$ 空间中的两个点,则具有下列形式的点 $$ y = \theta x_1 + (1-\theta)x_2,\theta \in \bfR @@ -65,12 +66,12 @@ $$   如果 $C$ 是一个仿射集合并且 $x_0 \in C$,则集合 $$ -V = C - x_0 = \left\{ x - x_0 \middle| x \in C \right\} +V = C - x_0 = \left\{ x - x_0\ \middle|\ x \in C \right\} $$ 是一个子空间,即关于加法和数乘是封闭的。 -> 简单说明:设 $v_1, v_2 \in V$,$\alpha, \beta \in \bfR$,则有 $v_1 + x_0 \in C$,$v_2 + x_0 \in C$。因为 $C$ 是仿射的,且 $\alpha + \beta + (1 - \alpha - \beta) = 1$,所以 +> **简单说明** 设 $v_1, v_2 \in V$,$\alpha, \beta \in \bfR$,则有 $v_1 + x_0 \in C$,$v_2 + x_0 \in C$。因为 $C$ 是仿射的,且 $\alpha + \beta + (1 - \alpha - \beta) = 1$,所以 > > $$ > \alpha v_1 + \beta v_2 + x_0 = \alpha (v_1 + x_0) + \beta(v_2 + x_0) + (1 - \alpha - \beta)x_0 \in C @@ -81,7 +82,7 @@ $$   因此,仿射集合 $C$ 可以表示为 $$ -C = V + x_0 = \left\{ v + x_0 \middle| v \in V \right\} +C = V + x_0 = \left\{ v + x_0\ \middle|\ v \in V \right\} $$ 即一个子空间加上一个偏移。与仿射集合 $C$ 相关联的子空间 $V$ 与 $x_0$ 的选取无关,所以 $x_0$ 可以是 $C$ 中的任意一点。定义仿射集合 $C$ 的维数为子空间 $V = C - x_0$ 的维数,其中 $x_0$ 是 $C$ 中的任意元素。 @@ -89,7 +90,7 @@ $$   由集合 $C \subseteq \bfR^n$ 中的点的所有仿射组合组成的集合称为 $C$ 的**仿射包**(*affine hull*),记为 $\aff{C}$: $$ -\aff{C} = \left\{ \theta_1 x_1 + \cdots + \theta_k x_k \middle| x_1, \cdots, x_k \in C, \theta_1 + \cdots + \theta_k = 1 \right\} +\aff{C} = \left\{ \theta_1 x_1 + \cdots + \theta_k x_k\ \middle|\ x_1, \cdots, x_k \in C, \theta_1 + \cdots + \theta_k = 1 \right\} $$ 仿射包是包含 $C$ 的最小的仿射集合,也就是说:如果 $S$ 是满足 $C \subseteq S$ 的仿射集合,那么 $\aff{C} \subseteq S$。 @@ -98,15 +99,15 @@ $$   集合 $C$ 的仿射维数定义为其仿射包的维数。仿射维数在凸分析及凸优化中十分有用,但它与其他维数的定义常常不相容。 -> 举例:考虑 $\bfR^2$ 上的单位圆环 $\left\{x\in\bfR^2\middle| x_1^2 + x_2^2 = 1 \right\}$。它的仿射包是全空间 $\bfR^2$,所以其仿射维数为 $2$。但是,在其他大多数维数的定义下,$\bfR^2$ 上的单位圆环的维数为 $1$。 +> **举例** 考虑 $\bfR^2$ 上的单位圆环 $\left\{x\in\bfR^2\middle| x_1^2 + x_2^2 = 1 \right\}$。它的仿射包是全空间 $\bfR^2$,所以其仿射维数为 $2$。但是,在其他大多数维数的定义下,$\bfR^2$ 上的单位圆环的维数为 $1$。   如果集合 $C \subseteq \bfR^n$ 的仿射维数小于 $n$,那么这个集合在仿射集合 $\aff C \ne \bfR^n$ 中。定义集合 $C$ 的**相对内部**(*relative interior*)为 $\aff C$ 的内部,记为 $\relint C$,即 $$ -\relint C = \left\{ x \in C \middle| B(x,r) \cap \aff C \subseteq C\ 对于某些\ r > 0 \right\} +\relint C = \left\{ x \in C\ \middle|\ B(x,r) \cap \aff C \subseteq C\ 对于某些\ r > 0 \right\} $$ -其中 $B(x,r) = \left\{ y \middle| \left\| y-x \right\| \leqslant r \right\}$,即半径为 $r$,中心为 $x$ 并由范数 $\| \cdot \|$ 定义的球(这里的 $\| \cdot \|$ 可以是任意范数,并且所有范数定义了相同的相对内部)。于是可以定义集合 C 的**相对边界**(*relative boundary*)为 $\cl C\ \backslash \relint C$,此处 $\cl C$ 表示 $C$ 的闭包。 +其中 $B(x,r) = \left\{ y\ \middle|\ \left\| y-x \right\| \leqslant r \right\}$,即半径为 $r$,中心为 $x$ 并由范数 $\| \cdot \|$ 定义的球(这里的 $\| \cdot \|$ 可以是任意范数,并且所有范数定义了相同的相对内部)。于是可以定义集合 C 的**相对边界**(*relative boundary*)为 $\cl C\ \backslash \relint C$,此处 $\cl C$ 表示 $C$ 的闭包。 # 4. 凸集 @@ -130,7 +131,7 @@ $$ 顾名思义,凸包 $\conv C$ 总是凸的。它是包含 $C$ 的最小的凸集。也就是说,如果 $B$ 是包含 $C$ 的凸集,那么 $\conv C \subsetneq B$。[图 3](#图3) 展示了凸包的定义。 $$ -\conv C = \left\{ \theta_1 x_1 + \cdots + \theta_k x_k \middle| x_i \in C, \theta_i \geqslant 0, i = 1,\cdots, k, \theta_1 + \cdots + \theta_k = 1 \right\} +\conv C = \left\{ \theta_1 x_1 + \cdots + \theta_k x_k\ \middle|\ x_i \in C, \theta_i \geqslant 0, i = 1,\cdots, k, \theta_1 + \cdots + \theta_k = 1 \right\} $$ @@ -176,7 +177,7 @@ $$   集合 $C$ 的**锥包**(*conic hull*)是 $C$ 中元素的所有锥组合的集合,即 $$ -\left\{ \theta_1 x_1 + \cdots + \theta_k x_k \middle| x_i \in C, \theta_i \geqslant 0, i = 1,\cdots,k \right\} +\left\{ \theta_1 x_1 + \cdots + \theta_k x_k\ \middle|\ x_i \in C, \theta_i \geqslant 0, i = 1,\cdots,k \right\} $$ 它是包含 $C$ 的最小的凸锥(如[图 5](#图5) 所示)。 diff --git a/source/_posts/2024-06-08-josh-cvx-1-2.md b/source/_posts/2024-06-08-josh-cvx-1-2.md index 8aa0605..5c43ec6 100644 --- a/source/_posts/2024-06-08-josh-cvx-1-2.md +++ b/source/_posts/2024-06-08-josh-cvx-1-2.md @@ -13,6 +13,8 @@ categories: - - Josh 的学习笔记 - 凸优化 - 凸集 + - - 数学 + - 凸优化 tags: - 凸优化 - 凸集 @@ -31,16 +33,12 @@ abbrlink: 9293b739 date: 2024-06-08 14:57:52 --- -$$ -\newcommand{\bfR}{\mathbf{R}} +$\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}} -$$ - -  本文将描述一些重要的凸集。首先介绍一些简单的例子。 +\def\conv{\mathop{\bf conv}}$  本文将描述一些重要的凸集。首先介绍一些简单的例子。 - 空集 $\emptyset$、任意一个点(即单点集(singleton))$\{x_0\}$ 、全空间 $\bfR^n$ 都是 $\bfR^n$ 的仿射(自然也是凸的)子集。 @@ -48,7 +46,7 @@ $$ - 一条线段是凸的,但不是仿射的(除非退化为一个点)。 -- 一条**射线**(*ray*),即具有形式 $\left\{x_0 + \theta v \middle| \theta \geqslant 0 \right\}, v \ne 0$ 的集合,是凸的,但不是仿射的。如果射线的基点 $x_0$ 是 $0$,则它是凸锥。 +- 一条**射线**(*ray*),即具有形式 $\left\{x_0 + \theta v\ \middle|\ \theta \geqslant 0 \right\}, v \ne 0$ 的集合,是凸的,但不是仿射的。如果射线的基点 $x_0$ 是 $0$,则它是凸锥。 - 任意子空间是仿射的、凸锥(自然是凸的)。 @@ -59,25 +57,25 @@ $$   **超平面**(*hyperplane*)是具有如下形式的集合 $$ -\left\{ x \middle| a^\TT x = b \right\} +\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$ 决定了这个平面从原点的偏移。为更好地理解几何含义,可以将超平面表示成 +其中 $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\} +\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 +\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\} +a^\perp = \left\{ v\ \middle|\ a^\TT v = 0 \right\} $$ 从中可以看出,超平面由偏移 $x_0$ 加上所有正交于(法)向量 $a$ 的向量构成,具体可见[图 6](#图6) 。 @@ -89,7 +87,7 @@ $$   一个超平面将 $\bfR^n$ 划分为两个**半空间**(*halfspaces*)。(闭的)半空间是具有下列形式的集合, $$\begin{equation}\label{HalfSpace} - \left\{x \middle| a^\TT x \leqslant b \right\} + \left\{x\ \middle|\ a^\TT x \leqslant b \right\} \end{equation} $$ @@ -102,7 +100,7 @@ $$   半空间 $\eqref{HalfSpace}$ 也可以表示为 $$ -\left\{x \middle| a^\TT (x - x_0) \leqslant 0 \right\} +\left\{x\ \middle|\ a^\TT (x - x_0) \leqslant 0 \right\} $$ 其中 $x_0$ 是相应超平面上的任意一点,即 $x_0$ 满足 $a^\TT x_0 = b$。上式有一个简单的几何解释:半空间由 $x_0$ 加上任意与(向外的法)向量 $a$ 呈钝角(或直角)的向量组 @@ -112,20 +110,20 @@ $$ ![图 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} -  半空间 $\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*)。 +  半空间 $\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球和椭球   $\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\} +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\} +B(x_c,r) = \left\{ x_c + ru\ \middle|\ \|u\|_2 \leqslant 1 \right\} $$   Euclid 球是凸集,即如果 $\|x_1-x_2\|\leqslant r$,$\|x_2-x_c\|\leqslant r$,并且 $0 \leqslant \theta \leqslant 1$,那么 @@ -143,7 +141,7 @@ $$\begin{aligned}   一类相关的凸集是**椭球**(*ellipsoid*),它们具有如下的形式: $$\begin{equation}\label{ellipsoid-1} - \E = \left\{ x \middle| (x-x_c)^\TT P^{-1}(x-x_c) \leqslant 1 \right\} + \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$ 上的一个椭球。 @@ -155,14 +153,14 @@ $$\begin{equation}\label{ellipsoid-1}   椭球另一个常用的表示形式是 $$\begin{equation}\label{ellipsoid-2} - \E = \left\{ x_c + Au \middle| \|u\|_2 \leqslant 1 \right\} + \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. 范数球和范数锥 -  设 $\| \cdot \|$ 是 $\bfR^n$ 中的范数。由范数的一般性质可知,以 $r$ 为半径,$x_c$ 为球心的**范数球**(*norm ball*) $\left\{ x \middle| \|x-x_c\| \leqslant r \right\}$ 是凸的。关于范数 $\| \cdot \|$ 的**范数锥**(*norm cone*)是集合 +  设 $\| \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} @@ -173,11 +171,11 @@ $$ > **举例** **二阶锥**(*second-order cone*)是由 Euclid 范数定义的范数锥,即 > > $$\begin{aligned} -> C &= \left\{ (x,t) \in \bfR^{n+1} \middle| \|x\|_2 \leqslant t\right\} +> 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} +> \end{array} \right]\ \middle|\ \left[\begin{array}{c} > x \\ t > \end{array} \right]^\TT\left[\begin{array}{c} > I & 0 \\ 0 & -1 @@ -197,7 +195,7 @@ $$   **多面体**(*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\} + \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) 显示了一个由五个半空间的交集定义的多面体。 @@ -209,7 +207,7 @@ $$\begin{equation}\label{polyhedron-1}   可以方便地使用紧凑表达式 $$\begin{equation}\label{polyhedron-2} - \P = \left\{ x \middle| Ax \preceq b,\ Cx = d \right\} + \P = \left\{ x\ \middle|\ Ax \preceq b,\ Cx = d \right\} \end{equation}$$ 来表示 $\eqref{polyhedron-1}$,其中 @@ -227,22 +225,22 @@ $$ > **举例** **非负象限**(*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_+^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*))。 +> (此处 $\bfR_+$ 表示非负实数的集合,即 $\bfR_+ = \left\{ x\in\bfR\ \middle|\ x \geqslant 0 \right\}$。)非负象限既是多面体也是锥(因此称为**多面体锥**(*polyhedral cone*))。 ## 4.1 单纯形   **单纯形**(*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\} + 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$ 维单纯形。 -> **举例** **一些常见的单纯形。** 1 维单纯形是一条线段;2 维单纯形是一个三角形(包含其内部); 3 维单纯形是一个四面体。 +> **举例** **一些常见的单纯形。** 1 维单纯形是一条线段;2 维单纯形是一个三角形(包含其内部); 3 维单纯形是一个四面体。 > > **单位单纯形**(*unit simplex*)是由零向量和单位向量 $\mathbf{0}, e_1,\cdots, e_n \in \bfR^n$ 决定的 $n$ 维单纯形。它可以表示为满足下列条件的向量的集合, > @@ -302,7 +300,7 @@ $$   有限集合 $\{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\} +\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}$ 的式子,即用线性等式和不等式的集合将其表示。 @@ -310,7 +308,7 @@ $$   凸包表达式的一个扩展表示是, $$\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\} + \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}$ 定义了一个多面体,反之亦然,每个多面体都可以表示为此类形式(虽然这一点此处并未证明)。 @@ -318,7 +316,7 @@ $$\begin{equation}\label{ExtendedHull}   “如何表示多面体”这一问题的求解是十分巧妙的,并且有一些非常实用的结果。一个简单的例子是定义在 $\ell_\infty$-范数空间的 $\bfR^n$ 上的单位球, $$ -C = \left\{x \middle| |x_i| \leqslant 1, \ i = 1,\cdots n\right\} +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$ 个点: @@ -334,19 +332,19 @@ $$   用 $\bfS^n$ 表示对称 $n\times n$ 矩阵的集合,即 $$ -\bfS^n = \left\{ X \in \bfR ^{n\times n} \middle| X = X^\TT \right\} +\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_+ = \left\{ X \in \bfS^n\ \middle|\ X \succeq 0 \right\} $$ 用 $\bfS^n_{++}$ 表示对称正定矩阵的集合: $$ -\bfS^n_{++} = \left\{ X \in \bfS^n \middle| X \succ 0 \right\} +\bfS^n_{++} = \left\{ X \in \bfS^n\ \middle|\ X \succ 0 \right\} $$ (这些符号与 $\bfR_+$ 相对应:$\bfR_+$ 表示非负实数,而 $\bfR_{++}$ 表示正实数。) diff --git a/source/_posts/2024-06-08-josh-cvx-1-3.md b/source/_posts/2024-06-08-josh-cvx-1-3.md new file mode 100644 index 0000000..a590f3e --- /dev/null +++ b/source/_posts/2024-06-08-josh-cvx-1-3.md @@ -0,0 +1,134 @@ +--- +title: Josh's Note — 凸优化
Part 1.3 凸集—保凸运算 +mathjax: true +comments: true +copyright: true +toc: + enable: true + number: false + wrap: true + expand_all: true + max_depth: 4 +categories: + - - Josh 的学习笔记 + - 凸优化 + - 凸集 + - - 数学 + - 凸优化 +tags: + - 凸优化 + - 凸集 +abbrlink: a4a69a4f +date: 2024-06-08 23:27:19 +--- + +$ +\newcommand{\bfR}{\mathbf{R}} +\newcommand{\bfS}{\mathbf{S}} +\newcommand{\TT}{\mathrm{T}} +\newcommand{\H}{\mathcal{H}} +$  本文将描述一些保凸运算,利用保凸运算可以使用凸集构造出其他凸集。这些运算与[*Part 1.2 凸集—一些重要的凸集*](https://josh-gao.top/posts/9293b739.html)中描述的凸集的简单例子一起构成了凸集的演算,可以用来确定或构建集合的凸性。 + +# 1. 交集 + +  交集运算是保凸的:如果 $S_1$ 和 $S_2$ 是凸集,那么 $S_1 \cap S_2$ 也是凸集。这个性质可以扩展到无穷个集合的交:如果对于任意 $\alpha\in A$,$S_\alpha$ 都是凸的,那么 $\displaystyle \bigcap_{\alpha \in A} S_\alpha$ 也是凸集。(子空间、仿射集合和凸锥对与任意交运算也是封闭的。)举一个简单的例子,多面体是半空间和超平面(它们都是凸集)的交集,因而是凸的。 + +> **举例** 半正定锥 $\bfS^n_+$ 可以表示为, +> +> $$ +> \bigcap_{z\ne 0} \left\{ X \in \bfS^n\ \middle|\ z^\TT Xz \geqslant 0 \right\} +> $$ +> +> 对于任意 $z\ne 0$,$z^\TT Xz$ 是关于 $X$ 的(不恒等于零的)线性函数,因此集合 +> +> $$ +> \left\{ X \in \bfS^n\ \middle|\ z^\TT Xz \geqslant 0 \right\} +> $$ +> +> 实际上就是 $\bfS^n$ 的半空间。由此,半正定锥是无穷个半空间的交集,因此是凸的。 + +> **举例**  考虑集合 +> +> $$\begin{equation}\label{example2.8} +> S = \left\{ x \in \bfR^m\ \middle|\ |p(t)|\leqslant 1\ 对于\ |t| \leqslant \pi/3 \right\} +> \end{equation}$$ +> +> 其中 $p(t) = \displaystyle\sum_{k=1}^m x_k \cos kt$。集合 $S$ 可以表示为无穷个**平板**(*slab*)的交集:$S = \displaystyle \bigcap_{|t|\leqslant\pi/3} S_t$,其中 +> +> $$ +> S_t = \left\{x\ \middle|\ -1\leqslant (\cos t,\cdots, \cos mt)^\TT x \leqslant 1\right\} +> $$ +> +> 因此,$S$ 是凸的。对于 $m=2$ 的情况,它的定义和集合可见[图 13](#图13) 和[图 14](#图14)。 +> +> +> +> ![图 13. $\eqref{example2.8}$ 定义的集合 ($m=2$) 中的点的三角多项式。虚线所示的三角多项式是另外两个的平均。](../images/post/2024-06-08-josh-cvx-1-3/2024-06-08-josh-cvx-1-3-130-ThreeTrigonometricPolynomials.png){width=500px} +> +> +> +> ![图 14. 图中央的白色区域显示了 $m=2$ 情况下 $\eqref{example2.8}$ 定义的集合 $S$。这个集合是无限多个(图中显示了其中 20 个)平板的交集,所以是凸的。](../images/post/2024-06-08-josh-cvx-1-3/2024-06-08-josh-cvx-1-3-140-TheSetS.png){width=470px} + +  在上面这些例子中,我们通过将集合表示为(可能无穷多个)半空间的交集来表明集合的凸性。反过来我们也将看到:每一个闭的凸集 $S$ 是(通常为无限多个)半空间的交集。事实上,一个闭集 $S$ 是包含它的所有半空间的交集: + +$$ +S = \bigcap \left\{ \H\ \middle|\ \H\ 是半空间,\ S\subseteq \H \right\} +$$ + +# 2. 仿射函数 + +  函数 $f: \bfR^n \to \bfR^m$ 是**仿射**(*affine*)的,如果它是一个线性函数和一个常数的和,即具有 $f(x) = Ax+ b$ 的形式,其中 $A \in \bfR^{m\times n}$,$b \in \bfR^m$。假设 $S \subseteq \bfR^n$ 是凸的,并且 +$f: \bfR^n \to \bfR^m$ 是仿射函数。那么,$S$ 在 f$ 下的象 + +$$ +f(S) = \left\{ f(x)\ \middle|\ x\in S \right\} +$$ + +是凸的。类似地,如果 $f:\bfR^k\to\bfR^n$ 是仿射函数,那么 $S$ 在 $f$ 下的原象 + +$$ +f^{-1}(S) = \left\{ x\ \middle|\ f(x)\in S \right\} +$$ + +是凸的。 + +  两个简单的例子是**伸缩**(*scaling*)和**平移**(*translation*)。如果 $S \subseteq \bfR^n$ 是凸集,$\alpha \in \bfR^n$ 并且 $a \in \bfR^n$,那么,集合 $\alpha S$ 和 $S+a$ 是凸的,其中 + +$$ +\alpha S = \left\{ \alpha x\ \middle|\ x \in S \right\},\qquad S + a = \left\{ x + a\ \middle|\ x \in S \right\} +$$ + +一个凸集向它的某几个坐标的**投影**(*projection*)是凸的,即:如果 $S \subseteq \bfR^m \times \bfR^n$ 是凸集,那么 + +$$ +T = \left\{ x_1\in \bfR^m\ \middle|\ (x_1,x_2)\in S\ 对于某些\ x_2 \in \bfR^n \right\} +$$ + +是凸集。 + +  两个集合的**和**(*sum*)可以定义为: + +$$ +S_1 + S_2 = \left\{ x + y\ \middle|\ x \in S_1, y \in S_2\right\} +$$ + +如果 $S_1$ 和 $S_2$ 是凸集,那么,$S_1 + S_2$ 是凸的。可以看出,如果 $S_1$ 和 $S_2$ 是凸的,那么其直积或 Cartesian 乘积 + +$$ +S_1 \times S_2 = \left\{ (x_1,x_2)\ \middle| \ x_1\in S_1, x_2\in S_2 \right\} +$$ + +也是凸集。这个集合在线性函数 $f(x_1,x_2) = x_1+x_2$ 下的象是和 $S_1 + S_2$。 + +  也可以考虑 $S_1,S_2 \in \bfR^m \times \bfR^n$ 的**部分和**(*partial sum*),定义为 + +$$ +S = \left\{ (x,y_1 + y_2)\ \middle| \ (x,y_1)\in S_1,\ (x,y_2)\in S_2 \right\} +$$ + +其中 $x\in\bfR^n$,$y_i \in \bfR^m$。$m=0$ 时,部分和给出了 $S_1$ 和 $S_2$的交集;$n=0$ 时,部分和等于集合之和。凸集的部分和是凸集。 + +# 参考文献 + +1. Stephen P. Boyd and Lieven Vandenberghe, *Convex optimization*. Cambridge, UK: Cambridge University Press, 2004. +2. Stephen P. Boyd and Lieven Vandenberghe, *凸优化*. 北京: 清华大学出版社, 2013. diff --git a/source/images/post/2024-06-08-josh-cvx-1-3/2024-06-08-josh-cvx-1-3-130-ThreeTrigonometricPolynomials.png b/source/images/post/2024-06-08-josh-cvx-1-3/2024-06-08-josh-cvx-1-3-130-ThreeTrigonometricPolynomials.png new file mode 100644 index 0000000..1f8f5c2 Binary files /dev/null and b/source/images/post/2024-06-08-josh-cvx-1-3/2024-06-08-josh-cvx-1-3-130-ThreeTrigonometricPolynomials.png differ diff --git a/source/images/post/2024-06-08-josh-cvx-1-3/2024-06-08-josh-cvx-1-3-140-TheSetS.png b/source/images/post/2024-06-08-josh-cvx-1-3/2024-06-08-josh-cvx-1-3-140-TheSetS.png new file mode 100644 index 0000000..a942f7f Binary files /dev/null and b/source/images/post/2024-06-08-josh-cvx-1-3/2024-06-08-josh-cvx-1-3-140-TheSetS.png differ