2 支持向量机核函数

  • 支持向量机的理论基础(凸二次规划)决定了它最终求得的为全局最优值而不是局部最优值,也保证了它对未知样本的良好泛化能力。支持向量机是建立在统计学习理论基础之上的新一代机器学习算法,支持向量机的优势主要体现在解决线性不可分问题,它通过引入核函数,巧妙地解决了在高维空间中的内积运算,从而很好地解决了非线性分类问题。
  • 构造出一个具有良好性能的SVM,核函数的选择是关键.核函数的选择包括两部分工作:一是核函数类型的选择,二是确定核函数类型后相关参数的选择。

2.1线性核(Linear Kernel)

训练好的支持向量机怎么得到核函数 支持向量机 核函数_人工智能


线性核函数重点用作线性可以划分的状况下,从特性空间至传入空间的维度是一致的,其参量愈来愈少,针对线性可划分数据,其类型划分成效比较好。大家一般把其归属为重要的参照函数。线性核,主要用于线性可分的情况,我们可以看到特征空间到输入空间的维度是一样的,在原始空间中寻找最优线性分类器,具有参数少速快的优势。对于线性可分数据,其分类效果很理想。

2.2多项式核(Polynomial Kernel)

训练好的支持向量机怎么得到核函数 支持向量机 核函数_人工智能_02


多项式核函数能够完成把较低维度的传入空间映射至较高维度的特性空间,适合于正交归一化(向量正交且模为1)数据。然而多项式的参量比较多,当其阶次较高时,核阵列的要素值将会趋向最大或最小,运算繁琐度也会大到难以运算。多项式核函数属于全局核函数,允许相距很远的数据点对核函数的值有影响。参数d越大,映射的维度越高,计算量就会越大。但是多项式核函数的参数多,当多项式的阶数d比较高的时候,由于学习复杂性也会过高,易出现“过拟合"现象,核矩阵的元素值将趋于无穷大或者无穷小,计算复杂度会大到无法计算。

2.3 高斯核(Gaussian Kernel)

训练好的支持向量机怎么得到核函数 支持向量机 核函数_机器学习_03


高斯径向基函数是一种局部性强的核函数,其可以将一个样本映射到一个更高维的空间内,该核函数是应用最广的一个,无论大样本还是小样本都有比较好的性能,而且其相对于多项式核函数参数要少,因此大多数情况下在不知道用什么核函数的时候,优先使用高斯核函数。径向基核函数属于局部核函数,当数据点距离中心点变远时,取值会变小。高斯径向基核对数据中存在的噪声有着较好的抗干扰能力,由于其很强的局部性,其参数决定了函数作用范围,随着参数σ的增大而减弱。

2.4 Sigmoid核(Sigmoid Kernel)

训练好的支持向量机怎么得到核函数 支持向量机 核函数_svm_04


Sigmoid核函数来源于神经网络,被广泛用于深度学习和机器学习中,采用此核函数时,支持向量机实现的就是一种多层感知器神经网络Sigmoid 核函数可以形成1个双层的神经网络感应器。不需要人力给定隐匿层的结点数是神经网络核函数的一大优势,而且因为支持向量机求算的均是规划问题,获得的根一般是最优解,相比于直接运用Sigmoid 来讲获得的结果具有更强的泛化能力。所以,在选择使用核函数时,假如对本数据具有良好的先验知识,则可运用先验来选取满足数据布局的核函数;偏差最低的则是效果最佳的核函数。

(本篇文章介绍的核函数都属于比较常用的核函数,而且不需要要考虑文本是否线性可分,若文本确定为线性可分,也可以考虑线性核函数,本文就不做介绍了)