重点是理解组合的概念,对于集合包括仿射集,凸集,凸锥集的定义都类似,也就是相应k个点的的组合仍然在这个集合里。而对于包的定义也类似,就是从一个不是仿射集/凸集/凸锥集的集合构造出一个这样的集合。
1:仿射集相关定义与证明
直线
给定空间的两个点x1,x2∈Rn,,我们可以确定一条过这两个点的直线
y=θx1+(1−θ)x2=x2+θ(x1−x2)
也就是我们从x2出发,沿着x1−x2的方向任意的变化θ值,这样就可以画出来整个一条直线。
线段
对于线段而言, 我们需要加上约束θ∈[0,1]。
仿射集
一个集合c是仿射集,那么在集合中选择任意两点x1,x2∈c,那么连接x1,x2的直线也在集合内。
显然一个直线是一个仿射集,一个线段不是仿射集,整个的二维空间是一个仿射集,但是在二维空间内选择一有限的区域不是一个仿射集。
仿射集的定义依赖于任意两点这个概念,那么如果我们将两个点扩充到三个点,四个点,无穷个点,然后对概念进行扩充,
仿射组合
设x1,x2,...,xk∈c,θ1,θ2,...,θk,∑i=1kθi=1,那么我们有一个仿射组合:
θ1x1+θ2x2+...+θkxk
那么我们将定义扩展,如果一个集合是仿射集,那么我们从中选取任意k个点,他们的仿射组合总是在集合c内。(考虑k=2那么该定义就退化为了直线的定义)。
仿射组合的简单证明
我们将两个点的情况拓广至三个点的情况,来证明仿射集在放射组合上的拓展是有效的
假设我们有三个点x1,x2,x3∈c,θ1+θ2+θ3=1,那么对于任意两个点(姑且选择前两个点,我们有)
θ1+θ2θ1x1+θ1+θ2θ2x2∈c
此时此两个点的线性组合可以看作一个点,然后我们将第三个点加入,可以得到:
(θ1+θ2)(θ1+θ2θ1x1+θ1+θ2θ2x2)+(1−θ1−θ2)x3∈c
得证。
2:相关子空间与性质证明
对于上面的定义,我们很容易产生一个问题,如果有两个点x1,x2∈c,c是仿射集,如果我们选择两个不相关的数α,β∈R,那么αx1+βx2是否也属于c呢?
好像不一定,那么我们有没有更一般的仿射集,使得上面这种线性组合也能够保证他们的结果属于仿射集内部?
答案是肯定的,比如下图中过原点的直线,由于x1,x2是向量,因此过原点的直线无论经过怎样的组合都还是在这条直线上,那么我们需要寻找这一类集合具有什么样的普遍规律。

相关子空间:V=c−x0={x−x0∣x∈c}∀x0∈c
任意给定一个仿射集c,c不一定具有上述的任意两点的任意组合还在集合内的性质,我们将c中的任意一个元素x,把所有的x−x0拿出来构成一个新的集合,x0是我们从c中任意拿出的一个点(也就是对c中的任意一个点,相对x0做一次空间的平移),那么我们称V为与c相关的子空间。注意这里的c必须是一个仿射集,否则不能称V为一个子空间。这个V满足以下两个性质:
-
V是一个仿射集
-
如果有两个点x1,x2∈c,c是仿射集,如果我们选择两个不相关的数α,β∈R,那么αx1+βx2是否属于V呢
相关子空间性质证明
假设我们有两个点∀v1,v2∈V,∀α,β∈R,我们要证明αx1+βx2∈V也就是要证明αx1+βx2+x0∈c(这一步是因为相关子空间的定义哈),那么我们把他拆成三部分
α(v1+x0)+β(v2+x0)+(1−α−β)x0
因为c是仿射集,所以v1+x0和v2+x0和x0都是属于仿射集c的,所以上面这个式子是c中的一个仿射组合!所以上式也属于c,证毕。
其他性质
- 对相关子集和,x0任意选择都是可以的。
- 所谓的空间,一定是经过原点的,只有经过原点才能称之为空间或者子空间。而在集合c中一定有一个x0点,我们减去x0就一定会经过原点。
3:线性方程组的解集与化零空间
定理证明
c={x∣Ax=b}A∈Rm∗n,b∈Rm,x∈Rn
这是一个一般的线性方程组,那么我们需要证明c是一个仿射集。对∀x1,x2∈c,我们有Ax1=b,Ax2=b。那么是否有θx1+(1−θ)x2∈c?答案是肯定的。因为A(θx1+(1−θ)x2)=θAx1+(1−θ)Ax2=b。证毕。那么推而广之,我们可以证明任何一个仿射集都可以写成一个线性方程组的解集。
解集的相关子空间:化零空间
那么相应的,这样一个仿射集也应该有相关子空间,那么他的相关子空间,也就是下式是什么?
V={x−x0∣x∈c}∀x0∈c
我们将上式化简,可以得到V={x−x0∣Ax=b}Ax0=b,再来一步化简得到V={x−x0∣A(x−x0)=0},然后我们将x−x0替换为y,那么我们将其写为V={y∣Ay=0},那么我们得到了A的化零空间,也就是对于任意的子空间V中的点我们给用A相乘都能得到0。
那么我们实际上做了什么工作呢?比较V={y∣Ay=0}和c={x∣Ax=b},我们实际上是在高维空间中做了一次平移,让c平移到至少一个点在原点上的空间。
4:任意集合构建最小仿射集-仿射包
如果给定一个集合,他可能是一个仿射集也可能不是,那么我们是否能在c上构造出一个仿射集,而且保证这个仿射集是最小的!
我们需要先引入一个新的定义,c的仿射包:
affc={θ1x1+...+θkxk∣∀xi,xi∈c;∀θ1+...+θk=1}
仿射包仍然是一个集合。我们可以将其简单的理解为如下形式:
- 对两个点x1,x2构成的集合他显然不是一个仿射集,那么根据他的仿射包的定义,我们取x1,x2的任意组合θ1x1+θ2x2就形成了什么东西?一条直线,这也就是我们最开始提到的最简单的仿射集。
- 如果我们再添加一个点x3,那么他们仨个经过任意组合所形成的仿射包就是整个平面,也就是说这个仿射包一定是一个仿射集。
- 如果c本身就是一个仿射集,那么他的仿射包就是他自己。

5:凸集相关:凸包-凸组合
我们需要比较以下凸集和仿射集二者的定义:
- 一个集合c是凸集,当任意两点之间的线段仍然在c内。
- 一个集合c是凸集,当任意两点之间的直线仍然在c内。
二者的差距就在线段和直线上,这也就是为什么凸优化的书籍从直线,线段的表示讲起的原因。那么参照仿射集,凸集定义如下:
cisconvex<=>θx1+(1−θ)x2∈c;∀x1,x2∈c,∀θ∈[0,1],
其中∀θ∈[0,1]就是作为线段的限制。显然仿射集是凸集,因为直线都在集合内了,线段显然也在集合内。
对于仿射集我们定义了仿射组合,那么对于凸集,我们同样有类似的凸组合。
凸组合
同样我们先回顾一下仿射组合的定义:
设x1,x2,...,xk∈c,θ1,θ2,...,θk,∑i=1kθi=1,那么我们有一个仿射组合:
θ1x1+θ2x2+...+θkxk,那么对于凸组合呢?我们无非在θ上做一些限制。
x1,x2,...,xk的凸组合θ1x1+θ2x2+...+θkxk具有如下限制:x1,x2,...,xk∈c,∑i=1kθi=1,∀θi∈[0,1],也就是加上了对线段的约束,仅此而已。
凸集概念扩充
又来了,再一次的,我们不满足于两个点的现状,必须将凸集扩充到多个点的情况,这和使用仿射组合扩充仿射集是非常类似的。
如果一个集合是凸集,那么我们从中选取任意k个点,他们的凸组合总是在集合c内。(考虑k=2那么该定义就退化为了线段的定义)。
考虑仿射集有仿射包,凸集拥有着凸包的概念
凸包
对任意一个集合c∈Rn,c的凸包定义为:
Convc={θ1x1+...+θkxk∣∀xi,xi∈c;i=1∑kθi=1;∀θi∈[0,1]}
同样的,给仿射包加上线段的限制就变成了凸包的定义
图形展示
最经典的三个图:
值得注意的是,对肾形图案而言,他的凸包就是将空白部分补上。 如果去掉正方形的四个端点,他依然是一个凸集,也就是说此时他的凸包是他自己,端点不影响他的凸性。如果去掉正方形的中间两点而不是端点,那么他的凸包是整个正方形。

上述都是连续集合,对于离散集合的凸包我们如何构造呢?其实现在已经有很多求凸包的算法
了:

6:锥 Cone与凸锥 Convex Cone
cisCone⟺∀x∈c,θ>0,wehaveθx∈c
cisConvexCone⟺∀x1,x2∈c,θ1,θ2>0,wehaveθ1x1+θ2x2∈c
关于这个凸锥的概念,我们可以发现他和相关子空间的定义很像,在相关子空间的部分,我们希望对任意的α,β∈R,有αx1+βx2∈c,而在这里有了新的约束θ1,θ2>0,这个约束有什么含义呢?换句话说,他和相关子空间的差别在哪里。
- 首先,对于过原点的三条射线(以原点为起点),他们所构成的集合是一个锥(也就是说我们有几条射线,我们把他们起点放在一起,同时保证他的连接点放在原点上就能构成一个锥)。相反这个Y字形的线不过原点,他上面的点并不满足凸锥的定义。
- 那么我们不妨来要无穷多个射线,他会构成什么样的形状呢?即右图,它不仅是一个锥,而且是一个凸集,于是构成了凸锥。
- 到这里我冒昧的总结一下如果说仿射集是基于直线来定义,凸集是基于线段来定义,那么锥就是基于射线的定义

与前面类似,我们依然可以定义凸锥组合,凸锥包等概念
凸锥组合
同样我们先回顾一下仿射组合的定义:
设x1,x2,...,xk∈c,θ1,θ2,...,θk,∑i=1kθi=1,那么我们有一个仿射组合:
θ1x1+θ2x2+...+θkxk,那么对于凸锥组合呢?我们无非在θ上做一些限制。
x1,x2,...,xk的凸锥组合θ1x1+θ2x2+...+θkxk具有如下限制:x1,x2,...,xk∈c,∀θi>0,也就是加上了对射线的约束,仅此而已。
凸锥包
对任意一个集合c∈Rn,c的凸锥包定义为:
Convc={θ1x1+...+θkxk∣∀xi,xi∈c;∀θi>0}
同样的,给仿射包加上射线的限制就变成了凸锥包的定义
图形展示
注意第一象限的两个点的凸锥是一条射线,而不是直线,做个比较,两个点的仿射集是两点所在直线,凸集是两点所成线段,而锥是过原点的射线集合。

7:概念比较
各种组合
-
仿射组合:x1,x2,...,xk∈c,∑i=1kθi=1
-
凸组合:x1,x2,...,xk∈c,∑i=1kθi=1,∀θi∈[0,1]
-
凸锥组合:x1,x2,...,xk∈c,∀θi>0
- 三种组合的差别就在限制条件上,对于直线而言,我们需要限制∑i=1kθi=1,对于线段而言,我们需要∑i=1kθi=1,∀θi∈[0,1],而对于射线而言,我们只需要∀θi>0。
各种集合
- 任意的仿射集一定是凸的,因为如果任意的仿射组合在集合内的话,任意的凸组合显然也在集合内。也就是说,仿射集是凸集的一个特例(一个无限大的凸集)
- 凸锥也一定是凸的。因为只要凸锥组合的条件满足,凸组合的性质一定是满足的。
只有一个点/没有点的场景
注意到我们在考虑上述问题时,默认是有两个以上点的,那么单个点能否成为凸集
c={x}
我们永远有,θ1x+θ2x=x,所以他是一个仿射集,也是一个凸集。凸锥稍有不同,如果这个点是原点,那么他一定是凸锥,否则他一定不是凸锥。
那么一个空集呢?他既是凸集,也是仿射集,也是凸锥。
8:几种常用且重要的凸集
Rn空间与子空间
他既是凸集,也是仿射集,也是凸锥。那么如果我们任意的选择一个子空间,他是否还满足上述性质?
定义:Rn空间的子空间:子空间一定具有原点,子空间中的任意加减和标量乘法操作都落在子空间内部。x,y轴即是二维空间的一维子空间。因此任意的子空间仍然既是凸集,也是仿射集,也是凸锥。
任意直线
过原点的直线是二维空间的一维子空间,因此其一定满足既是凸集,也是仿射集,也是凸锥。但是如果他不过原点,那他不是凸锥,但是是凸集和仿射集。
任意线段
任意线段都是凸集,线段往往不是仿射集,也不是凸锥,当线段缩减为一个点的时候,他是一个仿射集,当线段缩减为一个点而且是原点的时候,他是一个凸锥。
{x0+θV∣θ≥0}x0∈Rn;θ∈R;V∈Rn
这是个什么东西呢?这是一个射线,从x0开始沿着V的方向的射线。一般情况他不是仿射集,当他缩减为一个点的时候,它会成为一个仿射集。任意情况下她都是一个凸集。
超平面与半空间
Hyperplane:{x∣aTx=b}x,a∈Rn;b∈R;a!=0
所谓的超平面是一个集合,超平面不局限于二维的平面,下面的直线就是二维空间的超平面,三维空间的超平面是一个平面,思维空间的超平面则是立体的空间。

Halfspace
上图中的直线分隔开来的两个部分称之为半空间,两个空间一样大(无穷级数的概念)。
- 一个超平面一定是一个凸集,也是一个仿射集,因为超平面的定义本身就类似于直线的定义。如果该超平面恰好过原点,那么他也是一个凸锥,否则不是凸锥。
- 半空间一定是一个凸集,但是不一定是一个仿射集,也不一定是一个凸锥(仍然是过原点的部分是凸锥)。