在前面的文章里(支持向量机1-4)假设的训练样本是线性可分的,即存在一个划分超平面能将训练样本正确分类。然而在现实任务中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面。
对于这样的问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
一个定理:如果原始空间是有限维,即属性数有限,那么一定存在一个高维度特征空间使样本可分。
令表示将x映射后的特征向量,于是,在特征空间中划分超平面所对应的模型可表示为:
其中w和b是模型参数,有:
其对偶问题是:
求解上述式子涉及到计算,这是样本和映射到特征空间之后的内积。由于特征空间维数可能很高,甚至可能是无穷维,因此直接计算是很困难的。于是,可以设想这样一个函数:
即样本和在特征空间的内积等于它们在原始样本空间中通过函数计算的结果。这样就不用直接去计算高维甚至无穷维特征空间中的内积,就可以将对偶问题重写为:
求解后,会得到
这里的就是“核函数”(kernel function)。上述式子可以看出,模型最优解可以通过训练样本的核函数展开,这一展开式也称为“支持向量展式”。
那什么样的函数能做核函数呢?有下面的定理:
定理1 令为输入空间,是定义在×上的对称函数,则是核函数当且仅当对于任意数据,则“核矩阵” K总是半正定的:
====================================================================
补充知识点:什么是半正定?
设A为实对称矩阵,若对于每个非零实向量X,都是,则称A为半正定矩阵。
=======================================================================
从定理1得出,只要一个对称函数所对应的核矩阵是半正定,它就能作为核函数使用。事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射.
换言之,任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”(RKHS)的特征空间。我们常用的核函数有以下几种:
此外,还可以通过函数组合得到,例如:
若和为核函数,则对于任意正数和,其线性组合也是核函数。
若和为核函数,则核函数的直积也是核函数。
若为核函数,则对于任意函数g(x),也是核函数。