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,则使用支持向量机会非常慢,解决方案是创造、增加更多的特征,然后使用逻辑回归或不带核函数的支持向量机。
神经网络在以上三种情况下都可能会有较好的表现,但是训练神经网络可能非常慢,选择支持向量机的原因主要在于它的代价函数是凸函数,不存在局部最小值。