1.Linear核
主要用于线性可分的情形。参数少,速度快,对于一般数据,分类效果已经很理想了。
2. RBF核
主要用于线性不可分的情形。参数多,分类结果非常依赖于参数。通过训练数据的交叉验证来寻找合适的参数,验证过程比较耗时。
个人经验:
使用libsvm,默认参数,RBF核比Linear核效果稍差。通过进行大量参数的尝试,一般能找到比linear核更好的效果。至于到底该采用哪种核,要根据具体问题,有的数据是线性可分的,有的不可分,需要多尝试不同核不同参数。如果特征的提取的好,包含的信息量足够大,很多问题都是线性可分的。当然,如果有足够的时间去寻找RBF核参数,应该能达到更好的效果。
在用RBF核函数和Linear核函数时,需要注意先对数据进行归一化处理。在一般情况下,RBF核函数效果不会差于Linear核函数,但是RBF核函数更加耗时。
1.如果数据features很多,与样本数量差不多,选用LR或者带有Linear Kernel 的SVM;
2.如果数据features很少,而样本数量一般,不大也不小,选用带有Gaussian Kernel的SVM;
3.如果数据features很少,而样本数量很多,则手动添加features将其变成第一种情况;
总结如下:
1.特征和样本数量基本相同,选用LR或线性核函数的SVM
2.特征比样本数少一点,选用高斯核函数的SVM
3.特征比样本数少很多,补充特征,再用LR或者线性核函数的SVM
口诀:
高维用线性,不行换特征;低维试线性,不行换高斯;
线性试试看,不行换高斯;卡方有奇效,绝招MKL;
kernel度量相似性,自己做自己做。
参考文献:https://www.zhihu.com/question/21883548/answer/19693213