关于支持向量机核函数的一些理解

我们知道,有时候在原样本空间内并不能很好的给训练样本分类,但是把原样本空间映射到一个更高维空间后,就可以得到较好的分类,例如异或函数的取值。

关于支持向量机核函数的一些理解

相应的

关于支持向量机核函数的一些理解 

关于支持向量机核函数的一些理解

那么,我们究竟该怎么理解k(xi, xj)呢?

1.首先根据k(xi, xj)的定义,我们给出一个具体的例子

k(xi, xj)的定义为:

关于支持向量机核函数的一些理解 

eg:

假设原特征空间为二维的(x1, x2),映射到三维后为(x1*x1, 关于支持向量机核函数的一些理解*x1*x2, x2*x2),那么,我们就可以取核函数k(x, y) = <x, y>*<x, y>

验证:设x = (x1, x2),y = (y1, y2),映射后X = (x1*x1, 关于支持向量机核函数的一些理解*x1*x2, x2*x2), Y = (y1*y1,  关于支持向量机核函数的一些理解*y1*y2, y2*y2)。

则内积<X, Y> = x1*x1*y1*y1 + 2*x1*x2*y1*y2 + x2*x2*y2*y2。

k(x, y) = (x1*y1 + x2*y2) ^ 2 = x1*x1*y1*y1 + 2*x1*x2*y1*y2 + x2*x2*y2*y2 = <X,Y>

2.现在考虑一下,为什么要令核函数等于内积?

Answer:

两个特征向量的角度不同,模数不同,内积就不同,换句话说,内积可以显示出两个特征向量的相似度,那么核函数就是为了表示

两个特征向量的核函数。

3.以高斯核函数为例,结合以上两点作具体分析

关于支持向量机核函数的一些理解

高斯核函数的||xi - xj||项就是衡量两个特征向量的相似度的,相似度越高,||xi - xj||越接近0,核函数的值越接近1,反之,核函数的

值就越接近0。来看下图,

关于支持向量机核函数的一些理解 

x轴和y轴各代表一个一维向量,z轴代表k(x,y)的值,可以看出,在xy平面的对角线上,x = y,对应的k(x, y)为1,离对角线越远

代表x和y的相似度越低,k(x,y)越小。

 

下面给出高斯核函数将数据映射到高维甚至无穷维的原理,为了便于计算,我们令高斯核的带宽为1。

关于支持向量机核函数的一些理解