支持向量机3—非线性支持向量机与核函数

本节叙述非线性支持向量机,其主要特点是利用核技巧(kernel trick)。

1、核技巧

非线性分类问题是指通过利用非线性模型才能很好地进行分类的问题。

支持向量机3—非线性支持向量机与核函数

非线性问题往往不好求解,所以希望能用解线性问题的方法解决这个问题,所采取的方法是进行一个非线性变换,将非线性问题变换为线性问题。通过解变换后的线性问题的方法求解原来的非线性问题。

支持向量机3—非线性支持向量机与核函数

核函数的定义如下。

设χ是输入空间(欧氏空间Rn的子集或离散集合),又H为特征空间(希尔伯特空间),如果存在一个从χ到H的映射Φ(x):χ->H,使得对所有x,z∈χ,函数K(x,z)满足条件 K(x,z)= Φ(x)*Φ(z),则称K(x,z)为核函数,Φ(x)为映射函数,Φ(x)*Φ(z)为Φ(x)和Φ(z)的内积。

核技巧的想法是,在学习与预测中只定义核函数K(x,z),而不是显式地定义映射函数Φ。通常,直接计算K(x,z)比较容易,而通过Φ(x)和Φ(z)计算K(x,z)并不容易。注意,Φ是输入空间Rn到特征空间H的映射,特征空间H一般是高维的,甚至是无穷维的。可以看到,对于给定的核K(x,z),特征空间H和映射函数Φ的取法并不唯一,可以取不同的特征空间,即便是在同一特征空间里也可以取不同的映射。

支持向量机3—非线性支持向量机与核函数

在对偶问题的目标函数中的内积xi*xj可以用核函数K(xi,xj)=Φ(xi)*Φ(xj)来代替,此时对偶问题的目标函数成为

支持向量机3—非线性支持向量机与核函数

同样,分类决策函数中的内积也可以用核函数代替,而分类决策函数式成为

支持向量机3—非线性支持向量机与核函数

这就等价于经过映射函数Φ将原来的输入空间变换到一个新的特征空间,在新的特征空间里从训练样本中学习线性支持向量机。当映射函数是非线性函数时,学习到的含有核函数的支持向量机就是非线性分类模型。

也就是说在核函数K(x,z)给定的条件下,可以利用解线性分类问题的方法求解非线性分类问题的支持向量机,学习是隐式地在特征空间进行的,不需要显式地定义特征空间和映射函数。这样的技巧成为核技巧。

2、正定核

已知映射函数Φ,可以通过Φ(x)和Φ(z)的内积求得核函数K(x,z)。不用构造映射Φ(x)能否直接判断一个给定的函数K(x,z)是不是核函数?或者说,函数k(x,z)满足什么条件才能成为核函数?(通常所说的核函数就是正定核函数)

支持向量机3—非线性支持向量机与核函数

支持向量机3—非线性支持向量机与核函数

3、常用核函数

支持向量机3—非线性支持向量机与核函数

我们希望样本在特征空间内线性可分,因此特征空间的好坏对支持向量机的性能至关重要。需要注意的是,在不知道特征映射的形式时,我们并不知道什么样的核函数是合适的,而核函数也仅是隐式地定义了这个特征空间。于是,“核函数选择”成为了支持向量机最大的变数。若核函数选择不合适,则意味着将样本映射到了一个不合适的特征空间,很可能导致性能不佳。

4、非线性支持向量机

支持向量机3—非线性支持向量机与核函数

参考:《统计学习方法》李航