对解线性分类问题,线性分类支持向量机是一种有效的方法。但是,有时分类问题是非线性的,这时可以使用非线性支持向量机。
核技巧
**非线性分类问题:**如上面左图所示,能用
中的一个超曲面将正负实例分开,则称这个问题为非线性可分问题。
非线性问题不好求解,想办法转换成线性问题。
通过进行一个非线性变换(线性变换无法改变数据集的线性可分与不可分性),将非线性问题转换为线性问题,通过解变换后的线性问题的方法求解原来的非线性问题。(如上图所示)
用线性分类方法求解非线性分类问题分为两步:
1):首先使用一个非线性变换,将原空间的数据映射到新的空间
2):然后在新空间里用线性分类学习方法从该训练数据集中学习分类模型。
核技巧就属于这样的方法。
要搞明白核技巧是怎么回事,我们先来看一下核函数的定义:
李航在统计学习方法中的定义是:有一个输入空间
是欧式空间
的子集,又有一个特征空间
,是希尔伯特空间,如果存在一个从
到
的映射
,使得对所有的
,函数
则称
为核函数,
为映射函数,式中
为
和
的内积。
核技巧的想法是:在学习与预测中只定义核函数
,而不显式定义映射函数
。
(因为在求解非线性可分问题时,其目标函数形式是
,在这个目标函数里面,只有x内积的形式,这就是为什么核函数要定义成映射的内积的形式了)
为什么之定义核函数,而不显式的定义映射函数?
1)要求解的目标函数里面是输入实例
与
的内积形式,而核函数的定义形式就是将原始输入空间的实例映射到高纬的特征空间后的实例的内积。所以可以直接定义核函数不用定义映射函数。
2)映射后的特征空间一般是高维的,在其空间内求内积不太容易。并且对于给定的核函数
,特征空间与映射函数的取法并不唯一。
核技巧在支持向量机中的应用
在线性支持向量机的对偶问题中,无论是目标函数还是决策函数(分离超平面)都只涉及输入实例与实例之间的内积。
在对偶问题的目标函数中的内积
可以用核函数
来代替。此时对偶问题的目标函数成为:
同样分类决策函数中的内积也可以用核函数代替,而分类决策函数式成为:
这等价于经过映射函数
将原来的输入空间变换到一个新的特征空间,将输入空间中的内积
变换为特征空间中的内积
,从新的特征空间里从训练样本中学习线性支持向量机。
当映射函数是非线性函数时,学习到的含有核函数的支持向量机是非线性分类模型。
在核函数 给定的条件下,可以利用解线性分类问题的方法求解非线性分类问题的支持向量机。学习时隐式地在特征空间进行的,不需要显式的定义特征空间和映射函数。这样的技巧称作核技巧