在引入分割超平面和支持超平面的概念之前,首先简要介绍一下集合中的泛化不等式和最值为题。
1. 真锥
首先我们定义一个概念——真锥(proper cone),一个凸锥K⊆Rn是真锥,如果满足:K是凸集;K是闭合的;K是实心的(内部非空,如射线不是真锥);K是点集(不包含直线,也就是说如果x和−x都属于该凸锥,那么x=0)。 在真锥上我们可以定义泛化不等式(generalized inequalities)中点大小的关系(partial ordering):x⪯Ky⟷y−x∈K。该式表示在集合K下,点x恒小于y,即点x的各个分量xi≤yi,i=1,…,n。当K=R+,在高维空间上的泛化不等式与一维上数字间的大小比较的定义相同。泛化不等式具有以下性质:
-
可加性:如果x⪯Ky,同时,u⪯Kv,则x+u⪯Ky+v;
-
传递性:如果x⪯Ky,同时,y⪯Kz,则x⪯Kz;
-
自反性:如果x⪯Ky,同时,alpha>0,则αx⪯Kαy;
-
反对称性:x⪯Kx;
-
极限保持性:如果xi⪯Kyi, i=1,2,…,,同时,xi→x, yi→y,则x⪯Ky,当i→∞。
2. 最值和极值
由于高维空间与一维空间不同,我们无法将一维空间的线性顺序(linear ordering)延伸到高维空间用于比较点的大小。所以,高维空间中的最值和极值的定义相对低维空间就变的复杂一些。我们定义集合S的最小值(minimum element)为对于所有点y∈S,x⪯Ky,如果集合存在最值,那么有且仅有一个点存在(unique)。我们定义集合S的极小值(minimal element)为对于点y∈S,仅当y=x时,才会满足y⪯Kx。
对于集合而言,我们可以利用集合的定义说明集合最值的问题,集合S中的元素x为最小值,当且仅当S⊆x+K,这里x+K表示所有点的都大于等于x,即⪯K;极小值则为(x−K)∩S={x}。例如,对于二维空间R+2,如果点x为最小值点,则最小值意味着空间内所有的点都位于点x的右上方,极小值则表示没有其他的点位于点x的左下方。
如下图,点x1为集合S的最小值,因为对于K=R+n(浅色阴影部分)而言,S1⊆x1+K,集合S1内的其他点则不满足该条件;对于点x2,其为集合S2的极小值,因为满足(x2−K)∩S={x2},其中浅色阴影部分代表x-K部分,很明显,极小值并不是唯一的,因为点x2所在的直线上均为集合的极小值。
3. 分割超平面(分离超平面)
在上一讲中我们提到了仿射函数的概念,仿射函数可以简单理解为对于空间集合的线性变换,这里所讲的超平面分割理论(separating hyperplane theorem)是指:如果存在两个并查集合C和D(disjoint set,C∩D=∅),且这两个集合都为凸集,则必然存在一个超平面(之前讲过超平面既是凸集又是仿射集)使得对于集合C中所有点x满足aTx≤b, x∈C,集合D中所有点x满足aTx≥b, x∈D,换言之,仿射函数aTx−b在集合C上非正,在集合D上非负。超平面{x∣aTx=b}称为集合C和D的分割超平面,如下图。
接下来证明超平面分割理论,假设集合C和D间的欧几里德距离(Euclidean distance)为dist(C,D)=inf{∥u−v∥2 u∈C, v∈D}其中,点c∈C和d∈D是两个集合中距离最近的点的组合。那么,我们将会证明分割超平面位于线段(d−c)的正中间(the separating hyperplane is orthogonal to, and bisects, the line segment between c and d)。
因为点c和d是距离最近的点,dist(c,d)=∥c−d∥2>0,我们定义a=d−c,b=2∥d∥22−∥c∥22,所以仿射函数可以变换成:
f(x)=aTx−b=(d−c)Tx−2∥d∥22−∥c∥22=(d−c)Tx−2(d−c)T(d+c)=(d−c)T(x−(1/2)(d+c))
从上式可以看出,如果超平面分割理论成立的话,仿射函数在C上非正,在D上非负。如果平面分割理论不成立的话,必然会在集合D上存在一点u∈D使得f(u)=(d−c)T(u−(1/2)(d+c))<0。则f(u)可写为:
f(u)=(d−c)T(u−(1/2)(d+c))=(d−c)T(u−d+(1/2)(d−c))=(d−c)T(u−d)+(1/2)(d−c)T(d−c)=(d−c)T(u−d)+(1/2)∥(d−c)∥22<0
很明显,(d−c)T(u−d)<0。同时,我们可以构造出微分函数dtd∥d+t(u−d)−c∥22,当t=0时,
dtd∥d+t(u−d)−c∥22∣t=0=(d−c)T(u−d)<0。
该式意味着函数d(x)在x=0处一阶导数为负数,函数在x=0处呈递减趋势。所以,当0≤t≤1时(在0点右侧),d(t)<d(0)。即,d(t)=∥d+t(u−d)−c∥22<d(0)=∥d−c∥22。该式表明,必然存在一点d+t(u−d)使得该点到点c的距离小于点d到点c的距离,这与最开始的点c和点d是最近的亮点的假设相违背,所以证明出超平面分割理论的正确性,即两个不相交凸集间必然存在一个分割平面能将两个集合分开。
那么,超平面分割定理的逆定理是否正确呢?是否可以证明两个凸集如果存在超平面能将集合分开,那么这两个集合必然是不相交的集合呢?答案是否定的,因为如果集合C=D={0}⊆R,则存在超平面x=0将两个集合分开。但是,如果集合C和D之间至少有一个是开集的话,那么该定理成立,因为,如果存在该超平面且C为开集,则超平面对应的仿射函数必然在集合C上为负,在D上为非负。
平面分割定理的逆定理(converse separating hyperplane theorems):对于任意两个凸集C和D,其中至少一个集合为开集,则当且仅当集合C和D间存在一个分割超平面时,集合C和D是不相交(disjoint)的。
4. 支持超平面
支持超平面(supporting hyperplane)是指,对于凸集C而言,x0为集合C边界上的一点(x0∈bd C = cl C∖int C),如果aTx≤aTx0, a=0,那么超平面{x∣aTx=aTx0}被称为集合C在点x0处的超平面。支持超平面也可以理解为分割点x0和C的超平面,支持超平面的几何意义表示集合C上点x0的切线。支持超平面的实例如下图所示。
基于超平面分割理论我们可以得出支持超平面理论(supporting hyperplane theorem):对于任意非空凸集C和任意集合C上的一点x0∈bd C,必然在点x0上存在一个支持超平面。同理,我们可以获得支持超平面理论的逆定理,如果集合是闭合的且含有非空内点,当在集合边界的每一点上都存在支持超平面时,该集合为凸集。
5. 总结
在获得多维空间上极值的定义,以及分割超平面和支持超平面定理,我们可以更加明确什么是支持向量,什么是分类边界,以及为什么支持向量机算法会完成分类的任务,当然,谈到支持向量机,其中还用到了对偶的思想,关于对偶锥(dual cone)比较抽象,我个人理解的不是很好,所以暂时先不写这部分的内容,感兴趣的童鞋自行阅读《convex optimization》一书的2.6节内容。