在理解核函数之前我们先回顾一下之前的假设,我们的假设是训练数据是线性可分的,也就是存在一个超平面可以把两类样本分开。但是在实际任务中原始的样本空间中也许根本就不存在一个线性可分的超平面,例如比较常见的的异或问题。这个时候我们可以将样本空间映射到更高维的空间,从而使其线性可分。
我们用φ(x)表示原始样本向量x映射后的向量,于是划分超平面模型就变为:
根据上一节最后得到的SVM的基本型的对偶问题:
s.t.
就可以直接得出映射后的对偶问题:
, s.t.
上面这个式子会有计算,也就是
和
映射到高维的内积,由于其维度很高甚至可能是无穷维,我们为了简化计算引入一个计算技巧,一个称为核函数(kernel)的概念:
有了它我们就不用去计算复杂的高维的内积,而直接将原始样本向量代入核函数就可以了。
常用核函数:
核函数使用技巧:如对文本数据通常采用线性核,情况不明时可先尝试高斯核。