1.1 SVM非线性可分-核函数
在上一章节中,我们首先假设数据在原始空间上是线性可分的,在这样的前提条件下,我们知道如何求解最大间隔分类器 f(x)=wTx+b=∑mi=1αiy(i)<x(i),x>+b 。但实际上,大多数情况下,数据可能并不是线性可分,你无法在原始数据空间上寻找到这样一条分类超平面,使得数据线性可分。
比如,下面这个例子,很明显蓝色点和红色点应该被归类为两个类别,数据本身又是线性不可分的。但是很容易想到,一个理想的分类界面应该是位于两类数据中心的“圆”而不是直线。(转自:http://blog.csdn.net/v_july_v/article/details/7624837)
那么尝试将这个假想的分界面用数学表达进行描述。如果以 X,Y 表示二维空间的两个坐标,那么分界面圆的方程可以表示为,
a1X+a2X2+a3Y+a4Y2+a5XY+a6=0
有趣的是,我们可以通过构造另外一个五维度的空间,且其各个坐标值分别为, Z1=X,Z2=X2,Z3=Y,Z4=Y2,Z5=XY ,那么上面的式子可以表达为,
∑i=15aiZi+a6=a1Z1+a2Z2+a3Z3+a4Z4+a5Z5+a6=0
显然在新构造的五维空间下,这个“圆”分界面变成线性的了!那么,可以考虑,如果将所有原始空间的数据通过映射关系: ∅:R2→R5 ,从原始的二维空间映射为五维空间,数据将有可能变成线性可分的。
∅(X,Y)=[X,X2,Y,Y2,XY]T
++++++
如果数据在变换后的高维空间(在上面的例子中是五维度)上是线性可分的,那么我们就可以在这个变换的空间上采用线性SVM计算最优间隔分类器对数据进行分类处理了。SVM在处理线性可分数据时分类器形式为,
f(x)=∑i=1mαiy(i)<x(i),x>+b
假设映射关系 ∅(x) 可以将原始数据映射到特征空间F,且在该空间下,数据是线性可分的,那么在这个空间上的SVM分类器就表示为,
f(x)=∑i=1mαiy(i)<∅(x(i)),∅(x)>+b