对于求解线性分类问题,线性支持向量机是一种非常有效的方法。而对于非线性分类问题,就需要借助核函数将非线性问题变换成线性问题,然后再进一步求解。所以,今天我们来认识一下什么是核函数。
1. 非线性分类问题
非线性分类问题是指通过利用非线性模型才能很好地进行分类的问题。对于下面左图,是用一条椭圆曲线(非线性模型)将正负样例正确分类的。然而非线性问题往往不好求解,所以希望能用解线性分类的方法求解原来的非线性问题。如下面右图所示,通过变换将左图中椭圆曲线变换成直线,正确将样例分类。
上面的例子说明,用线性分类方法求解非线性分类问题分为两步:首先使用一个变换将原区间的数据映射到新空间,然后在新空间里用线性分类方法从训练数据中学习分类模型。所以,非线性分类的关键就在于如何进行这样的映射。下面即将要介绍的核方法就可以完成这样的映射。
2. 核函数的定义
设X是输入空间(欧式空间),又设H为特征空间(希尔伯特空间),如果存在一个从X到H的映射Φ(x):X→H,使得对所有x,z∈X,函数K(x,z)满足条件K(x,z)=Φ(x)·Φ(z). 则称K(x,z)为核函数,Φ(x)为映射函数,Φ(x)·Φ(z)为Φ(x)和Φ(z)的内积。
核技巧的想法是,在学习与预测中只定义核函数K(x,z),而不显示地定义映射函数Φ。这是因为,通常计算核函数比较容易,而通过Φ(x)·Φ(z)计算K(x,z)比较困难。注意:对于给定的核函数K(x,z),特征空间H和映射函数的取法并不唯一,可以取不同的特征空间,即便是在同一特征区间也可以取不同的映射。
3. 核技巧在支持向量机中的应用
我们注意到在线性支持向量机的对偶问题中,无论是目标函数还是决策函数都只涉及输入实例与实例之间的内积。在对偶问题的目标函数、决策函数中的内积xi·xj都可以用核函数K(x,z)=Φ(x)·Φ(z)来代替。这等价于经过映射函数Φ将原来的输入空间变换到一个新的特征空间,在新的特征空间里从训练样本中学习线性支持向量机。当映射函数是非线性函数时,学习到的含有核函数的支持向量机为非线性分类模型。
4. 常见的核函数
多项式核函数
对应的支持向量机是一个p次多项式分类器。
高斯核函数
对应的支持向量机是高斯径向基函数分类器。