凸集
前言
本文将进行凸优化的学习,而凸优化理论的第一部分就是凸集,将会详细介绍凸集
一、仿射集合和凸集
1.直线和线段
设
x
1
≠
x
2
为
R
n
x_1\neq x_2为R^n
x1=x2为Rn空间中的两个点,而直线的定义则是:
y
=
θ
x
1
+
(
1
−
θ
)
x
2
θ
∈
R
y=\theta x_1+(1-\theta)x_2\quad \theta \in R
y=θx1+(1−θ)x2θ∈R
参数
θ
\theta
θ在0和1之间变动,构成了
x
1
,
x
2
x_1,x_2
x1,x2之间的闭线段,极端情况下
θ
\theta
θ取0则代表
x
2
x_2
x2,取1则代表
x
1
x_1
x1
而另外一种表示方式则是
y
=
x
2
+
θ
(
x
1
−
x
2
)
y=x_2+\theta(x_1-x_2)
y=x2+θ(x1−x2)
2.仿射集合
- 如果通过集合
C
⊆
R
n
C\subseteq R^n
C⊆Rn中任意两个不同点的直线仍然在集合C中,则称集合C是仿射的,即C中包含了C中任意两点系数之和为1的线性组合
∀ x 1 , x 2 ∈ C , θ ∈ R θ x 1 + ( 1 − θ ) x 2 ∈ C \forall x_1,x_2\in C,\theta\in R \\ \theta x_1+(1-\theta)x_2\in C ∀x1,x2∈C,θ∈Rθx1+(1−θ)x2∈C
扩展到多个点的情况,假设C是一个仿射集合: x 1 , x 2 , . . . , x k ∈ C , θ 1 + θ 2 + . . . + + θ n = 1 x_1,x_2,...,x_k\in C,\theta_1+\theta_2+...++\theta_n=1 x1,x2,...,xk∈C,θ1+θ2+...++θn=1,则有 θ 1 x 1 + θ 2 x 2 + . . . + θ n x n ∈ C \theta_1x_1+\theta_2x_2+...+\theta_nx_n \in C θ1x1+θ2x2+...+θnxn∈C - 前面的仿射空间都要求 θ 1 + . . . + θ n = 1 \theta_1+...+\theta_n=1 θ1+...+θn=1,在许多实际情况上很明显是不符合的,那么对于任意的 α , β \alpha,\beta α,β,是否能令 α x 1 + β x 2 ∈ C \alpha x_1+\beta x_2 \in C αx1+βx2∈C呢。答案是否定的,但是我们可以通过一些空间上的平移使得平移后的仿射空间对任意的 α , β \alpha,\beta α,β都满足上述式子,平移后的仿射空间我们称为与仿射集合C相关联的子空间,这个子空间一定是经过原点的。对于任意一个点 x 0 ∈ C x_0\in C x0∈C,仿射集合都可以表征为一个子空间与 x 0 x_0 x0的和: V = C − x 0 = { x − x 0 ∣ x ∈ C } V=C-x_0=\{x-x_0|x\in C\} V=C−x0={x−x0∣x∈C}与仿射空间相关联的子空间V与 x 0 x_0 x0的选取无关,所以 x 0 x_0 x0可以是C中的任意一点,并且仿射集合C的维数与子空间V的维数是一样的
- 对于线性方程组的解集 C = { x ∣ A x = b } C=\{x|Ax=b\} C={x∣Ax=b},设 x 1 , x 2 ∈ C x_1,x_2\in C x1,x2∈C(这是仿射集合里面的任意一个元素),所以有 A x 1 = b , A x 2 = b Ax_1=b,Ax_2=b Ax1=b,Ax2=b,对于任意的线性组合 A ( θ x 1 + ( 1 − θ ) x 2 ) = θ A x 1 + ( 1 − θ ) A x 2 = b A(\theta x_1+(1-\theta)x_2)=\theta Ax_1+(1-\theta)Ax_2=b A(θx1+(1−θ)x2)=θAx1+(1−θ)Ax2=b也就是说任意的线性组合仍然在集合C中,所以集合C是一个仿射集合,任意一个仿射集合都可以表示成线性方程组的解集,下一步将求解与仿射集合C相关联的子空间。
- 根据相关联子空间的定义,即 V = { x − x 0 ∣ x ∈ C } = { x − x 0 ∣ A x = b } = { x − x 0 ∣ A ( x − x 0 ) = 0 } \begin{align}V&=\{x - x_0|x \in C\} \\ &= \{x-x_0|Ax=b\}\\&=\{x-x_0|A(x-x_0)=0\} \end{align} V={x−x0∣x∈C}={x−x0∣Ax=b}={x−x0∣A(x−x0)=0}由于A矩阵是一个变量,所以只有当 x − x 0 x-x_0 x−x0所表征的空间是零空间才能使上述等式成立,故线性方程组的解空间相关联的仿射空间是零空间
- 根据上面的推导,我们发现这类问题无非是两个角度:第一个角度是不知道该集合是否为仿射集,可以通过该集合的某些点的线性组合是否在这个集合中推导出是否其为仿射集,第二个角度是知道某个集合是一个仿射集,利用仿射集的某些结论去求新的更加优质的仿射集(系数可以任意而言,不需要求和为1)。
- 下一步我们将问题扩展到所有集合当中,如何将那些不是仿射集的集合构造成一个尽可能小的仿射集呢?引入仿射包的概念,称集合 C ⊆ R n C\subseteq R^n C⊆Rn中的点所有仿射组合成的集合叫做C的仿射包: a f f C = { θ 1 x 1 + . . . + θ n x n ∣ x 1 , . . . , x n ∈ C , θ 1 + . . . + θ n = 1 } aff\ C=\{\theta_1x_1+...+\theta_nx_n|x_1,...,x_n\in C,\theta_1+...+\theta_n=1\} aff C={θ1x1+...+θnxn∣x1,...,xn∈C,θ1+...+θn=1}仿射包是包含C的最小仿射组合,也就是说如果S满足 C ⊆ S C\subseteq S C⊆S的仿射组合,那么 a f f C ⊆ S aff\ C \subseteq S aff C⊆S
- 仿射维数是指其仿射包的维数:以单位圆环为例,单位圆环的仿射包是整个二维平面 R 2 R^2 R2,所以其仿射维数为2。如果集合 C ⊆ R n C\subseteq R^n C⊆Rn的仿射维数小于n,那么这个集合的仿射包 a f f C ≠ R n aff \ C \neq R^n aff C=Rn,相对内部为 a f f C aff \ C aff C的内部 r e l i n t C = { x ∈ C ∣ B ( x , r ) ∩ a f f C ⊆ C , 对于某些 r ≥ 0 } relint C \ =\{x\in C|B(x,r)\cap aff \ C \subseteq C,对于某些r\geq 0\} relintC ={x∈C∣B(x,r)∩aff C⊆C,对于某些r≥0}其中 B = { y ∣ ∣ ∣ y − x ∣ ∣ ≤ r } B=\{y| \ ||y-x||\leq r\} B={y∣ ∣∣y−x∣∣≤r}是半径为r,中心为x的球,相对边界是 c l C \ r e l i n t C cl \ C \backslash relint \ C cl C\relint C,其中cl是闭包
3.凸集
- 凸集的定义:集合C中的任意两点间的线段仍然在C中,则对于任意 x 1 , x 2 ∈ C x_1,x_2\in C x1,x2∈C和满足 0 ≤ θ ≤ 1 0\leq \theta \leq 1 0≤θ≤1都有 θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1+(1-\theta)x_2 \in C θx1+(1−θ)x2∈C可以看出仿射集一定是一个凸集,凸集中每一点都可以被其他点沿着它们一条无阻碍的路径看见,无阻碍的意思是指整条路径都在集合中
- 凸组合: θ 1 x 1 + . . . + θ k x k \theta_1x_1+...+\theta_kx_k θ1x1+...+θkxk,其中 θ 1 + . . . + θ k = 1 , θ i ≥ 0 \theta_1+...+\theta_k=1,\theta_i\geq 0 θ1+...+θk=1,θi≥0
- 凸包: c o n v C = { θ 1 x 1 + . . . + θ n x n ∣ x 1 , . . . , x n ∈ C , θ 1 + . . . + θ n = 1 , θ i ≥ 0 } conv\ C=\{\theta_1x_1+...+\theta_nx_n|x_1,...,x_n\in C,\theta_1+...+\theta_n=1,\theta_i\geq 0\} conv C={θ1x1+...+θnxn∣x1,...,xn∈C,θ1+...+θn=1,θi≥0}凸包的理解十分形象,只需要将边缘的点连接起来
4.锥
- 定义:对于任意的 x ∈ C , θ ≥ 0 x\in C,\theta \geq 0 x∈C,θ≥0,都有 θ x ∈ C \theta x \in C θx∈C,称集合C是锥或者非负其次,如果锥C是凸的,则称C是凸锥,即 ∀ x 1 , x 2 ∈ C , θ 1 , θ 2 ≥ 0 , θ 1 x 1 + θ 2 x 2 ∈ C \forall x_1,x_2 \in C,\theta_1,\theta_2 \geq 0,\theta_1x_1+\theta_2x_2\in C ∀x1,x2∈C,θ1,θ2≥0,θ1x1+θ2x2∈C。这是因为凸集只需要满足系数之和为1时,并且这些系数都要大于0,线性组合在集合C中,而凸锥是对所有的系数大于等于0都满足该条件,等于加强了条件,凸集是凸锥的一种特殊情况,所以凸锥一定是凸集
- 锥组合: θ 1 x 1 + . . . + θ k x k \theta_1x_1+...+\theta_kx_k θ1x1+...+θkxk,其中 θ i ≥ 0 \theta_i\geq 0 θi≥0
- 锥包: { θ 1 x 1 + . . . + θ n x n ∣ x 1 , . . . , x n ∈ C , θ i ≥ 0 } \{\theta_1x_1+...+\theta_nx_n|x_1,...,x_n\in C,\theta_i\geq 0\} {θ1x1+...+θnxn∣x1,...,xn∈C,θi≥0}锥包也是十分直观,因为必须要过原点,所以只需要从原点引出两条射线能够包围该集合即可
- 凸锥不一定是仿射组合,这是因为凸锥需要所有的参数大于等于0,其只能保证在大于等于0时,参数之和为1,而仿射组合的 θ \theta θ要取尽所有实数域而言的参数,使得参数之和为1,所以凸锥不能满足仿射组合的条件,反过来也一样
5.重要例子
- 空集,任意一个点集都是仿射,自然也是凸集,而只有原点既是凸锥,又是仿射集。
- 任意的直线都是仿射集,只有经过原点的仿射集才是凸锥,也就是关联的子空间是凸锥
- 一条线段/射线是凸集,但不是仿射集,特别的该射线经过原点则是凸锥
二、几种重要的凸集
1.射线
{ x 0 + θ V ∣ θ ≥ 0 } , x 0 , V ∈ R n , θ ∈ R \{x_0+\theta V|\theta \geq 0\},x_0,V\in R^n,\theta \in R {x0+θV∣θ≥0},x0,V∈Rn,θ∈R,这个集合 θ \theta θ是变量,其他都是常量,所以射线一般不是仿射集,但一定是凸集,当 x 0 x_0 x0是零向量时,它是凸锥
2.超平面和半空间
- 超平面的定义:是一个集合,满足 { x ∣ a T x = b } , a ∈ R n , b ∈ R , a ≠ 0 \{x|a^Tx=b\},a\in R^n,b\in R,a\neq 0 {x∣aTx=b},a∈Rn,b∈R,a=0,是关于x的非平凡线性方程的解空间(是一个仿射集合)
- 超平面的几何理解:是给定向量a后,该向量内积为常数的那些点的集合,法线方向为a的超平面,而b则是该超平面与原点的偏移值
- 超平面的另外一种表示形式: { x ∣ a T ( x − x 0 ) = 0 } = x 0 + a ⊥ \{x|a^T(x-x_0)=0\}=x_0+a^{\perp} {x∣aT(x−x0)=0}=x0+a⊥,其中 x 0 x_0 x0是满足超平面上任意一点,即 a T x 0 = b a^Tx_0=b aTx0=b, a ⊥ a^{\perp} a⊥则是a的正交补,即与a正交的向量集合: a ⊥ = { v ∣ a T v = 0 } a^{\perp}=\{v|a^Tv=0\} a⊥={v∣aTv=0}
- 半空间:一个超平面划分成了两个半空间,这两个半空间大小相同,半空间不是仿射集,但是是一个凸集,因为任取两个点,两个点组成的直线不一定在该半空间中,但线段一定会在这个半空间中,可以表示为 { x ∣ a T ( x − x 0 ) ≤ 0 } \{x|a^T(x-x_0)\leq0\} {x∣aT(x−x0)≤0}
3.球和椭球
- 球的定义: B ( x c , r ) = { x ∣ ∣ ∣ x − x c ∣ ∣ 2 ≤ r } B(x_c,r)=\{x|\ ||x-x_c||_2 \leq r \} B(xc,r)={x∣ ∣∣x−xc∣∣2≤r},其中二范数可以表征为矩阵的形式 ∣ ∣ u ∣ ∣ 2 = ( u T u ) 1 2 ||u||_2=(u^Tu)^{\frac{1}{2}} ∣∣u∣∣2=(uTu)21,另一个常见表达式为 B ( x c , r ) = { x c + r u ∣ ∣ ∣ u ∣ ∣ 2 ≤ 1 } B(x_c,r)=\{x_c+ru|\ ||u||_2 \leq 1 \} B(xc,r)={xc+ru∣ ∣∣u∣∣2≤1},表示距离球心 x c x_c xc不超过r的所有点组成
- 球一定是一个凸集,但很多情况下都不是仿射集,证明过程需要用到三角不等式 ∣ ∣ a + b ∣ ∣ ≤ ∣ ∣ a ∣ ∣ + ∣ ∣ b ∣ ∣ ||a+b||\leq ||a||+||b|| ∣∣a+b∣∣≤∣∣a∣∣+∣∣b∣∣
- 椭球的定义: ϵ = { x ∣ ( x − x c ) T P − 1 ( x − x c ) ≤ 1 } \epsilon = \{x|(x-x_c)^TP^{-1}(x-x_c)\leq 1 \} ϵ={x∣(x−xc)TP−1(x−xc)≤1},其中P是对称正定矩阵,决定了椭球从 x c x_c xc向各个方向扩展的幅度,半轴长度由 λ i \sqrt{\lambda_i} λi给出,是P的特征值
- 椭球的另外一个常用表现形式为: ϵ = { x c + A u ∣ ∣ ∣ u ∣ ∣ 2 ≤ 1 } \epsilon=\{x_c+Au|\ ||u||_2 \leq 1 \} ϵ={xc+Au∣ ∣∣u∣∣2≤1},其中A是一个非奇异的方阵,A也是一个对称正定的矩阵
- 矩阵的奇异值和特征值的概念:矩阵的奇异值由一个矩阵的n个非负特征值的算术平方根(二范数)表示
4.多面体
- 多面体的定义:被定义成有限个线性等式和不等式的解集 P = { x ∣ a j T x ≤ b j , j = 1 , . . . , m , c j T x = d j , j = 1 , . . . , , p } P=\{x|a_j^Tx\leq b_j,j=1,...,m,c_j^Tx=d_j,j=1,...,,p\} P={x∣ajTx≤bj,j=1,...,m,cjTx=dj,j=1,...,,p},从定义上看多面体是有限个超平面和半空间的交集
- 多面体是一个凸集,仿射集合,射线,线段和半空间都是多面体
- 单纯形:是一种特殊的多面体,设 k + 1 k+1 k+1个点 v 0 , . . . , v k ∈ R n v_0,...,v_k\in R^n v0,...,vk∈Rn仿射独立,即 v 1 − v 0 , . . . , v k − v 0 v_1-v_0,...,v_k-v_0 v1−v0,...,vk−v0线性独立,这些点决定了一个单纯形: C = c o n v { v 0 , . . . , v k } = { θ 0 v 0 + . . . + θ k v k ∣ θ ≥ 0 , 1 T θ = 1 } C=conv\{v_0,...,v_k\}=\{\theta_0v_0+...+\theta_kv_k|\theta \geq 0 ,1^T\theta=1\} C=conv{v0,...,vk}={θ0v0+...+θkvk∣θ≥0,1Tθ=1}找到单纯满足单纯形的点后,需要构造跟这些点的一个凸包
- 很明显,1维单纯形是一条线段,2维单纯形是一个三角形,3维单纯形是一个四面体,n维单纯形无法找到一个n+2维的形状
- 证明单纯形是一个多面体:多面体的特点是x受到多个与x有关的不等式和等式约束,而单纯形则是说这k+1个点满足某些线性无关关系下,产生的一组线性凸组合,证明过程就是如何利用这一个线性无关的特性转化成多个与x有关的等式不等式约束,本质上是如何从参数的约束转化成优化变量的约束,证明过程:
x
=
θ
0
v
0
+
θ
1
v
1
+
.
.
.
+
θ
k
v
k
,
1
T
θ
=
1
B
=
[
v
1
−
v
0
,
.
.
.
,
v
k
−
v
0
]
∈
R
n
∗
k
\begin{align}x=\theta_0v_0+\theta_1v_1+...+\theta_kv_k,1^T\theta=1\\B=[v_1-v_0,...,v_k-v_0]\in R^{n*k}\end{align}
x=θ0v0+θ1v1+...+θkvk,1Tθ=1B=[v1−v0,...,vk−v0]∈Rn∗k下一步需要将系数拆分开,即构造
θ
0
=
1
−
θ
1
−
.
.
.
−
θ
k
\theta_0=1-\theta_1-...-\theta_k
θ0=1−θ1−...−θk,然后将
v
0
v_0
v0的系数置1,这样就可以构造一个与
θ
\theta
θ无关的等式约束,然后将其他带
θ
\theta
θ的系数放在其他式子下,利用线性无关的特性将其消除,k个向量如果线性无关,秩一定为k。x就被改写为
x
=
v
0
+
B
y
x=v_0+By
x=v0+By,其中B是上面线性无关的向量集合。
接下来需要利用线性无关的定义构造矩阵,则找到一个 R n ∗ n R^{n*n} Rn∗n的非奇异矩阵A,左乘向量B,一定能找到一个这样的非奇异矩阵使得 A B = [ A 1 A 2 ] B = [ I 0 ] AB=\begin{bmatrix}A_1\\A_2\end{bmatrix}B=\begin{bmatrix}I\\0\end{bmatrix} AB=[A1A2]B=[I0]
有了这个结论,我们下面可以用这个矩阵A乘以我们的单纯形满足的约束式子,也就是说 A x ∈ C Ax\in C Ax∈C,我们得到了 A 1 x = A 1 v 0 + y , A 2 x = A 2 v 0 A_1x=A_1v_0+y,A_2x=A_2v_0 A1x=A1v0+y,A2x=A2v0,由于y有取值范围 y ≥ 0 , 1 T y ≤ 1 y\geq 0,1^Ty\leq 1 y≥0,1Ty≤1,所以单纯形的多面体表现形式为: A 1 x ≥ A 1 v 0 , A 2 x = A 2 v 0 , 1 T A 1 x ≤ 1 + 1 T A 1 v 0 A_1x\geq A_1v_0,A_2x=A_2v_0,1^TA_1x\leq1+1^TA_1v_0 A1x≥A1v0,A2x=A2v0,1TA1x≤1+1TA1v0 - 每个多面体都可以表示为前m个系数之和为1的凸包加上后n个系数大于等于0的锥包
5.半正定锥
- 用 S n S^n Sn表示对称矩阵的集合: S n = { X ∈ R n ∗ n ∣ X = X T } S^n=\{X\in R^{n*n}|X=X^T\} Sn={X∈Rn∗n∣X=XT},对称半正定矩阵的集合: S + n = { X ∈ S n ∣ X ⪰ 0 } S^n_{+}=\{X\in S^n|X\succeq0\} S+n={X∈Sn∣X⪰0}(表征所有奇异值都大于等于0的集合),正定矩阵的集合: S + + n = { X ∈ S n ∣ X ≻ 0 } S^n_{++}=\{X\in S^n|X\succ0\} S++n={X∈Sn∣X≻0}
- 半正定矩阵不仅仅是一个凸集,还是一个凸锥,半正定矩阵有一个很重要的性质,左右同时乘以一个矩阵和其转置,其结果一定是大于等于0的,也就是说 X T A X ≥ 0 X^TAX\geq 0 XTAX≥0
- 对称正定矩阵不一定是凸锥,证明过程十分简单,如下: ∀ X ∈ R n , X T A X > 0 , X T B X > 0 , θ ≥ 0 X T ( θ 1 A + θ 2 B ) X = X T θ 1 A X + X T θ 2 B X \forall X \in R^n,X^TAX> 0,X^TBX> 0,\theta \geq 0\\X^T(\theta_1A+\theta_2B)X=X^T\theta_1AX+X^T\theta_2BX ∀X∈Rn,XTAX>0,XTBX>0,θ≥0XT(θ1A+θ2B)X=XTθ1AX+XTθ2BX由于 θ \theta θ的取值是大于等于0,并不能保证上面式子一定是大于0的,所以无法推导出正定矩阵通过线性变换后还是一个正定矩阵,所以无法推导出对称正定矩阵是一个凸锥
三、保凸运算
1.交集
- 如果 S 1 , S 2 S_1,S_2 S1,S2为凸集,那么 S 1 ∩ S 2 S_1\cap S_2 S1∩S2也是一个凸集,也可以推广到n个凸集的交集也是凸集
- 两个凸集的并集不一定是凸集,这也很容易证明出来
2.仿射函数
- 函数 f : R n → R m f:R^n \rightarrow R^m f:Rn→Rm是仿射的,如果它是一个线性函数和一个常数的和,具有 f ( x ) = a x + b f(x)=ax+b f(x)=ax+b的形式,假设 S ⊆ R n S\subseteq R^n S⊆Rn是凸集,则S在f下的像也是凸的,即 f ( S ) = { f ( x ) ∣ x ∈ S } f(S)=\{f(x)|x\in S\} f(S)={f(x)∣x∈S},而其在f下的原像也是凸的,即 f − 1 ( S ) = { x ∣ f ( x ) ∈ S } f^{-1}(S)=\{x|f(x)\in S\} f−1(S)={x∣f(x)∈S},这里重点提一下:像是知道x求解y,也就是从x映射到y,而原像则是知道y求x,都能用于表示某个凸集
- 可以看出,伸缩和平移都不改变凸性,也就是说线性映射都不会改变凸性,而从n维空间通过仿射映射到m维空间得到新的空间,这个空间仍然是凸的
- 一个凸集向它某几个坐标的投影也是凸集,两个凸集合的和也是凸的,即 S 1 + S 2 = { x + y ∣ x ∈ S 1 , y ∈ S 2 } S_1+S_2=\{x+y|x\in S_1,y\in S_2\} S1+S2={x+y∣x∈S1,y∈S2},两个凸集合的直积也是凸的,也就是说 S 1 ∗ S 2 = { ( x 1 , x 2 ) ∣ x 1 ∈ S 1 , x 2 ∈ S 2 } S_1*S_2=\{(x_1,x_2)|x_1\in S_1,x_2\in S_2\} S1∗S2={(x1,x2)∣x1∈S1,x2∈S2},这个直积函数在线性函数 f ( x 1 , x 2 ) = x 1 + x 2 f(x_1,x_2)=x_1+x_2 f(x1,x2)=x1+x2下的像是和 S 1 + S 2 S_1+S_2 S1+S2
- 两个凸集的部分和也是凸集
- 线性矩阵不等式的解:
A
(
x
)
=
x
1
A
1
+
.
.
.
+
x
n
A
n
⪯
B
A(x)=x_1A_1+...+x_nA_n\preceq B
A(x)=x1A1+...+xnAn⪯B这个再一次强调表示的意思并不是有序线性不等式,线性矩阵不等式中每个元素都是一个矩阵
a
T
x
=
x
1
a
1
+
.
.
.
+
x
n
a
n
≤
b
a^Tx=x_1a_1+...+x_na_n\leq b
aTx=x1a1+...+xnan≤b而是说上面矩阵A与x相乘与B相减后是一个半负定矩阵,
A
X
−
B
≤
0
AX-B\leq0
AX−B≤0,奇异值全部小于0
线性矩阵不等式的解集也是一个凸集,需要定义一个仿射变换 f ( x ) = B − A ( x ) f(x)=B-A(x) f(x)=B−A(x),这本质上是从 R n → S m R^n\rightarrow S^m Rn→Sm的一个高维到低维的映射,而线性矩阵不等式的解则得到的是一个个矩阵 { x ∣ A x ⪯ B } \{x|Ax\preceq B\} {x∣Ax⪯B},是半正定锥在由仿射变换 f ( x ) = B − A ( x ) f(x)=B-A(x) f(x)=B−A(x)给定的仿射映射的原像 - 椭球是球的仿射映射: ϵ = { x ∣ ( x − x c ) T P − 1 ( x − x c ) ≤ 1 } = { x c + A u ∣ ∣ ∣ u ∣ ∣ 2 ≤ 1 } \epsilon = \{x|(x-x_c)^TP^{-1}(x-x_c)\leq 1 \}=\{x_c+Au|\ ||u||_2 \leq 1 \} ϵ={x∣(x−xc)TP−1(x−xc)≤1}={xc+Au∣ ∣∣u∣∣2≤1},是单位球在仿射映射 f ( u ) = P 1 2 u + x c f(u)=P^{\frac{1}{2}}u+x_c f(u)=P21u+xc下的象
3.线性分式与透视函数
- 线性分式比仿射函数更加普遍,但仍然保凸,定义为: R n + 1 → R n R^{n+1}\rightarrow R^n Rn+1→Rn,而透视函数则定义为 P ( z , t ) = z t , z ∈ R n , t ∈ R + + P(z,t)=\frac{z}{t},z\in R^n,t\in R_{++} P(z,t)=tz,z∈Rn,t∈R++,定义域为 d o m P = R n ∗ R + + dom\ P=R^n*R_{++} dom P=Rn∗R++,这说明透射函数的前n维元素可以任意取值,但是最后一维元素必须在正实数集合内进行取值,透视函数对向量进行伸缩规范化,使最后一维分量为1并且进行舍弃
- 透视函数可以用小孔成像来进行解释,一个任意点与原点的连线构成的直线在某一维(假设为第三维) x 3 = − 1 x_3=-1 x3=−1处呈现出的一个水平图像,会得到许多坐标点,由于第三维始终为-1,所以可以忽略掉,而这个点的透视函数就是 P ( x ) P(x) P(x)
- 透视函数不改变凸性,凸集通过透射函数降维后还是一个凸集,因为线段通过透射函数后还是会映射成线段(低维的线段),平面透过透射函数后也同样是一个平面。证明过程:假设 x = ( x ~ , x n + 1 ) , y = ( y ~ , y n + 1 ) ∈ R n + 1 , x n + 1 , y n + 1 ≥ 0 , ∀ 0 ≤ θ ≤ 1 P ( θ x + ( 1 − θ ) y ) = θ x ~ + ( 1 − θ ) y ~ θ x n + 1 + ( 1 − θ ) y n + 1 = μ P ( x ) + ( 1 − μ ) P ( y ) μ = θ x n + 1 θ x n + 1 + ( 1 − θ ) y n + 1 ∈ [ 0 , 1 ] x=(\tilde{x},x_{n+1}),y=(\tilde{y},y_{n+1})\in R^{n+1},x_{n+1},y_{n+1}\geq 0,\forall 0\leq \theta \leq 1 \\ P(\theta x+(1-\theta)y)=\frac{\theta \tilde{x}+(1-\theta)\tilde{y}}{\theta x_{n+1}+(1-\theta)y_{n+1}}=\mu P(x)+(1-\mu)P(y)\\ \mu=\frac{\theta x_{n+1}}{\theta x_{n+1}+(1-\theta)y_{n+1}}\in [0,1] x=(x~,xn+1),y=(y~,yn+1)∈Rn+1,xn+1,yn+1≥0,∀0≤θ≤1P(θx+(1−θ)y)=θxn+1+(1−θ)yn+1θx~+(1−θ)y~=μP(x)+(1−μ)P(y)μ=θxn+1+(1−θ)yn+1θxn+1∈[0,1]很明显凸组合的透视函数在透视后又是一个凸组合,从一个高维的线段映射成一个低维的线段,这是因为 θ \theta θ和 μ \mu μ是一一映射关系,每一个 θ \theta θ都能唯一的表示出 μ \mu μ
- 一个凸集经过反透射映射函数后也是一个凸集
- 线性分式函数:由仿射函数和透视函数复合而成,即设 g : R n → R m + 1 g:R^n\rightarrow R^{m+1} g:Rn→Rm+1是仿射的,即 g ( x ) = [ A c T ] x + [ b d ] g(x)=\begin{bmatrix}A\\c^T\end{bmatrix}x+\begin{bmatrix}b\\d\end{bmatrix} g(x)=[AcT]x+[bd]其中 A ∈ R m ∗ n , B ∈ R m , c ∈ R n , d ∈ R A\in R^{m*n},B \in R^m,c\in R^n,d\in R A∈Rm∗n,B∈Rm,c∈Rn,d∈R,下一步定义 f = P ∘ g f=P\circ g f=P∘g使得 f : R n → R m f:R^n\rightarrow R^{m} f:Rn→Rm,其中 f ( x ) = A x + b c T x + d d o m f = { x ∣ c T x + d > 0 } f(x)=\frac{Ax+b}{c^Tx+d} \quad \quad dom\ f=\{x|c^Tx+d>0\} f(x)=cTx+dAx+bdom f={x∣cTx+d>0}
- 线性分式函数是一个非常重要的函数,因为它经过了非线性变换后没有改变凸性,是一个非线性函数中非常优秀的函数
- 两个随机变量的联合概率可以映射成条件概率:设u,v分别在 { 1 , . . . , n } , { 1 , . . . , m } \{1,...,n\},\{1,...,m\} {1,...,n},{1,...,m}中取值的随机变量,联合概率 P i j = P ( u = i , v = j ) P_{ij}=P(u=i,v=j) Pij=P(u=i,v=j),条件概率 f i j = P ( u = i ∣ v = j ) f_{ij}=P(u=i|v=j) fij=P(u=i∣v=j),两者关系为 f i j = p i j ∑ k = 1 n p k j f_{ij}=\frac{p_{ij}}{\sum_{k=1}^np_{kj}} fij=∑k=1npkjpij