上篇已经简单的说了下支持向量机的理论,里面有不少公式,需要肯学习的你一步步的推导试一试,说实在的还是挺能考验数学能力的,当年俺老孙就是一步步的推导过。只有这样你才能对这个过程有清晰的认识,才能对这个算法有所体会。
下面来举个例子,说说用支持向量机解决异或问题。这个例子是在一个书上看到的,摘录下面希望能够加深对支持向量机的理解。(部分公式不好编辑,所以直接截图,为了和截图的字体大小差不多,这里设置了大号字体!)
为了阐述支持向量机的设计过程,这里以XOR异或问题为例进行说明。下面是输入数据。
输入数据 | 期望输出 |
(-1,-1) | (-1) |
(-1,1) | (+1) |
(1,-1) | (+1) |
(1,1) | (-1) |
该问题在二维输入空间不是线性可分的,为此利用核映射方法映射到高维空间来解决。
令
K(x,xi)=(1+xTxi)2
并且x=[x1,x2]T,xi=[xi1,xi2]T
把内积核K(x,xi)表示为单项式的不同阶数的展开式如下 K(x,xi)=1+x12xi12+2x1x2xi1xi2+x22xi22+2x1xi1+2x2xi2
因此,可以推断出在特征空间中由输入向量x产生的映射为
9 1 1 1
K= { 1 9 1 1 }
1 1 9 1
1 1 1 9
因此对偶问题的目标函数为:
可以推导出:
-x1x2=0 即为分类面方程。该分类面在特征空间中是一个超平面。
关于这个例子的更多细节,我这里有PDF文件,可惜这里不能传附件。