SVM核函数如何选择

本文仅针对SVM的核函数如何选择这一问题做了相关总结,不涉及其他参数的选择。总结的情况仅供参考,实际情况中还是得结合经验和实验的实际结果来选择最合适的核函数,最好都试一遍,看哪个最符合自己的数据分布特性。


linear:线性内核

  • 参数少,速度快,对于一般数据,分类效果已经很理想了
  • linear核可以是RBF核的特殊情况
  • 数据线性可分:如果特征提取的好,很多问题都线性可分
  • 数据特征维数高,跟样本量差不多
  • 特征维数低,而样本数量很多,则需手工添加一些feature后选用linear
  • 数据量特别大:可避免造成庞大的计算量

RBF:高斯核

  • 应用最广的核函数,无论是线性/非线性,高维/低维,其适用性都蛮高
  • 参数多,较为耗时,分类结果非常依赖于参数
  • 线性核函数是RBF的一个特例,也就是说如果考虑使用RBF,那么就没有必要考虑linear核函数了
  • polynomial核函数相比,RBF需要确定的参数要少,核函数参数的多少直接影响函数的复杂程度
  • 初始参数的效果一般没有linear核好,但一般只要参数设置得当,其效果都比linear核效果更好
  • 样本数量一般/较为客观,特征维数低时选rbf
  • libsvm工具箱默认选择RBF

sigmoid 核

  • sigmoid核在某些参数下和RBF很像

polynomial:多项式内核

  • polynomial核的参数比RBF多,而参数越多模型越复杂
  • RBF核更方便计算,取值在[0,1];而用polynomial核取值范围是(0,inf),在自由度高的情况下更凸显出劣势

总结

  • 高维用linear,不行换特征;低维试linear,不行换RBF
  • 优先选择RBF或linear

猜你喜欢

转载自blog.csdn.net/WB18002337539/article/details/107299409
今日推荐