对于一个线性可分的数据集,使用硬边界SVM是否一定比使用软边界SVM更好?
回答:
即使训练数据集是线性可分的,我认为软边界SVM会更好。原因是,在硬边界SVM中,单个异常值就可能决定边界,这使得分类器对数据中的噪声过于敏感。
在下面的图表中,单个红色异常值几乎决定了边界,这是过拟合的典型标志。
为了理解软边界SVM的工作原理,最好从其对偶形式来看,你会发现它具有与硬边界SVM相同的最大化边界的目标(边界可以为负),但增加了一个约束,即每个与支持向量相关的拉格朗日乘数被C所限制。这实际上限制了任何单个点对决策边界的影响,有关推导,请参见Cristianini/Shaw-Taylor的《支持向量机及其它基于核的学习方法导论》中的命题6.12。
结果是,即使数据集是线性可分的,软边界SVM也可以选择具有非零训练误差的决策边界,并且不太可能过拟合。
这是一个使用libSVM在合成问题上的例子。圈出的点显示了支持向量。你可以看到,降低C值会使分类器牺牲线性可分性以获得稳定性,从某种意义上说,任何单个数据点的影響现在由C限制。
支持向量的意义:
对于硬边界SVM,支持向量是那些“位于边界上”的点。在上图中,C=1000几乎接近硬边界SVM,你可以看到圈出的点是那些将触及边界的点(图中的边界几乎为0,所以它基本上与分隔超平面相同)。
对于软边界SVM,用对偶变量来解释它们会更容易。你的支持向量预测器在对偶变量中的形式如下函数所示。
这里,alphas和b是在训练过程中找到的参数,xi’s和yi’s是你的训练集,x是新的数据点。支持向量是从训练集中包含在预测器中的数据点,即那些具有非零alpha参数的数据点。