引申到任意维度时,上面方程可用集合公式表达:S:{x | pTx=α} x∈Rn。对应于上图:p向量对应向量OS,x为直线上任意一点,在SVM算法中,称x点构成的集合S为超平面。有时高维数据集合投影到向量p的内积值是一个范围:比如{x | pTx>=α}或{y | pTy<=-α},高维数据被投影到向量p的两个区间上:
接下来介绍凸集分离定理:
上图中X,Y在高维空间中都是凸集,且X∩Y=Φ;将X、Y投影到向量p上后,可以得到两个凸集X\',Y\',在向量p上X\'、Y\'一定处在向量p的两端,即X\',Y\'两个凸集是可分离的。
注意定理中有两个条件,一是X,Y是凸集,二是X,Y交集为空集。X\',Y\'可分离意味着在向量p上可以将两者区分开,而X与X\'、Y与Y\'都是一一映射,X\',Y\'可区分开就间接地意味着X,Y也可区分开,这里所谓的\'可区分开\'也就是SVM所要实现的二分法。凸集可分离定理说明两个没有交集的凸集是线性可分的,同时,如果两个数据集不能线性分开时,可以通过核函数将数据变为两个凸集,所以凸集可分离定理对核函数生成也有着指导意义。
二、 SVM算法
2.1 超平面与最大间隔
前面介绍过,能把数据实现二分类的线性分类器称为超平面,SVM算法需要求出最大间隔的超平面,可设超平面为S:{x|pTx=α},由于pTx=α等式两边可除以一个正数就可以把p归一化为单位向量,不妨设p是一个已经处理后的单位向量,此设定不影响SVM算法。一般文献中,超平面通常写成隐函数形式:
S:{x|pTx-α=0} x∈Rn,p∈Rn,||p||=1
由几何知识可知,空间任意一点x到超平面S的距离公式为:
属于两个分类的支持向量到该超平面的距离都为d , d>0,由于支持向量是各自分类数据中,距离超平面最近的点,针对所有数据有以下不等式:
⑴
公式(1)两边同除以d,可得:,使用换元法,令:
⑵
这样就得到约束条件常见形式:
⑶接下来要把公式(3)脱掉绝对值符号,SVM是一个二分类问题:可设定ωTx+b>=1时分类标签y=1;ωTx+b<=-1时分类标签y=-1,这样一来,所有的数据都有不等式:
y(ωTx+b)>=1 ④