SVM 算法

1、参数解读

C 的作用类似于 1/λ,当 C 不是非常非常大的时候,它可以忽略掉一些异常点的影响,得到更好的决策界

C=1/λ,因此:

  • C 较大时,相当于 λ 较小,可能会导致过拟合,高方差。
  • C 较小时,相当于 λ 较大,可能会导致低拟合,高偏差

支持向量机也可以不使用核函数,不使用核函数又称为线性核函数(linear kernel),当我们不采用非常复杂的函数,或者我们的训练集特征非常多而实例非常少的时候,可以采用这种不带核函数的支持向量机。

下面是支持向量机的两个参数 C 和 σ 的影响:

  • C=1/λ
  • C 较大时,相当于 λ 较小,可能会导致过拟合,高方差;
  • C 较小时,相当于 λ 较大,可能会导致低拟合,高偏差;
  • σ 较大时,可能会导致低方差,高偏差;
  • σ 较小时,可能会导致低偏差,高方差。

2、一些普遍使用的准则:

n 为特征数,m 为训练样本数。

  • 如果相较于 m 而言,n 要大许多,即训练集数据量不够支持我们训练一个复杂的非线性模型,我们选用逻辑回归模型或者不带核函数的支持向量机。
  • 如果 n 较小,而且 m 大小中等,例如 n 在 1-1000 之间,而 m 在 10-10000 之间,使用高斯核函数的支持向量机。
  • 如果 n 较小,而 m 较大,例如 n 在 1-1000 之间,而 m 大于 50000,则使用支持向量机会非常慢,解决方案是创造、增加更多的特征,然后使用逻辑回归或不带核函数的支持向量机。

神经网络在以上三种情况下都可能会有较好的表现,但是训练神经网络可能非常慢,选择支持向量机的原因主要在于它的代价函数是凸函数,不存在局部最小值。

你可能感兴趣的:(SVM 算法)