版权声明:本文为博主原创文章,未经博主允许不得转载。
SVM核函数通常有四种:
1. Linear
2. Polynomial
3. Gaussian (RBF)
4. Sigmoid/Logistic
不知为何,RBF最常用
- 一般情况下,给定随意的数据集,你不知道该用什么样的核函数,通常先用简单的映射方式,然后再一步步的复杂化。
- 如果数据集是线性可分的,用linear当然足够;如果数据集线性不可分,这个核函数就显然不行了
2-dimensions
- 为了描述简单和可视化,我们使用二维数据集
下图是iris数据集使用linear的SVM分类器的分类结果
结果还不错!下图是iris数据集使用RBF的SVM分类器的分类结果
OK,很显然,两种核函数都能让我们接受,具有很强的说服力。这时候通常选择简单的那个,即线性核函数,因为不论是参数个数上还是复杂度上,还是映射计算上,线性核函数比RBF强,另外RBF可能会导致过拟合。
好吧,似乎上面说的对linear很有好感。但事实上,如果要一句话总结如何选择核函数,那就是—dataset。毫无疑问,如果是下图的数据,再用linear核函数,显然是不行的。
下面是RBF核函数的结果,很精妙!
告一段落
多项式核函数
- 在任何情况下,都很少用多项式核,效率不高,结果也不优于RBF
- 于是现在得到一个结论:线性可分时用linear,线性不可分时用RBF核。
事实上,更朴实一点的说法,RBF通过映射到高维的最终目标还是线性可分。