首先,指出核技巧并不是SVM专属的,它是一个独立的算法,是一种使用原属性集计算变换空间中的相似度的方法。只是它与SVM八字很合。
为什么使用核技巧
SVM构建的是一个线性的决策边界,从而把数据集分到各自的类中,如果数据集是一个非线性的,直接使用SVM,得不到一个理想的结果,那么使用线性分类器求解非线性分类问题,需要特殊的处理:
- 首先,使用一个变换将原空间的数据映射到新空间中
- 然后,在新空间中使用线性分类器求解
在第一步中,例如:将特征x扩展到三维,然后在新空间中寻找特征和结果之间的模型。我们将这种特征变换称作特征映射(feature mapping)。映射函数称作。即通过映射函数将数据映射到新空间中。
将这两步运用到SVM学习非线性SVM,对实例z进行分类,公式变为:
公式中涉及计算变换空间中向量之间的点积即它们的相似度,可能产生维灾难。除此之外,还存在其他问题,
- 不知应该使用什么类型的映射函数,才能确保在新空间中数据是线性可分的
- 在高维空间中求解约束优化问题计算代价很高
核技巧
点积用来度量两个输入向量的相速度。
变换后空间中两个向量的点积可以用原空间中的相似函数K表示
这个相似函数K就是核函数。核技巧有助于解决非线性SVM的问题。
- 非线性SVM使用的核函数必须满足Mercer定理,因此不需要知道映射函数的确切形式。
- 使用核函数计算点积计算开销小
- 在原空间中计算,避免了维灾难
参考
数据挖掘导论