支持向量机二:非线性问题与核技巧
传统的支持向量机模型通过一个超平面对于特征空间的分类,并不适用于非线性的分类问题。为了解决这一个问题,我们引入核技巧来解决这一问题。
核技巧
以一个二维空间为例 {x(1),x(2)} ,如果可以通过一个椭圆对于实例完成分类,我们可以通过一个线性变换 z=f(x)=((x(1))2,(x(2))2) 将椭圆变换为直线。在新空间中就有直线:
ω1z(1)+ω2z(2)+b=0
这样就将原本的非线性分类问题转化为了线性分类问题。
通过这个例子,对于一个非线性分类问题,可以通过一个变换将原空间映射为一个新的特征空间,转换为线性分类问题,这就是所谓核技巧的思想。我们首先引入核函数:
核函数
设 X 是输入空间(欧氏空间),设 H 为特征空间(希尔伯特空间),如果存在一个从 X 到 H 的映射 ϕ(x):X→H ,对于所有的 x,z∈X ,函数 K(x,z) 满足:
K(x,z)=ϕ(x)⋅ϕ(z)
则称 K(x,z) 为核函数
核技巧的应用
核技巧希望通过直接定义 K(x,z) ,而不显示的定义 ϕ(x) 。可以简化我们在优化过程中的计算。
在原始的线性分类问题对偶问题中,目标函数为:
W(α)=21i=1∑Nj=1∑Nαiαjyiyjxi⋅xj−i=1∑Nαi
其中实例的内积可以使用核函数来代替,可以得到新的对偶问题的目标函数:
W(α)=21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαi
正定核
通过映射函数 ϕ(x) 可以直接构造核函数,但是反过来如何直接判断一个函数 K(x,z) 是否是一个核函数。我们通常所说的核函数成为正定核函数,一个函数是正定核的充要条件是:
设 K:X×X→R 是对称函数,则 K(x,z) 为正定核函数的充要条件是对任意 xi∈X,K(x,z) 对应分Gram矩阵是半正定矩阵。
常用核函数
多项式核函数
K(x,z)=(x⋅z+1)p
高斯核函数
K(x,z)=exp(−2σ2∣∣x−z∣∣2)