SVM - 硬边还是软边?

时间:2011-01-07 19:34:57

标签: algorithm machine-learning svm

给定一个线性可分的数据集,在软边界SVM上使用硬边距SVM是否更好?

2 个答案:

答案 0 :(得分:120)

即使训练数据集是线性可分的,我也希望软边界SVM更好。原因在于,在边界较宽的SVM中,单个异常值可以确定边界,这使得分类器对数据中的噪声过于敏感。

在下图中,单个红色异常值基本上决定了边界,这是过度拟合的标志

enter image description here

为了了解软边际SVM正在做什么,最好在双重公式中查看它,你可以看到它具有相同的保证金最大化目标(保证金可能是负面的)边际SVM,但附加约束条件是每个与支持向量相关的拉格朗日乘数由C限定。本质上,这限制了任何单个点对决策边界的影响,推导,见Cristianini / Shaw-Taylor的“引言”中的命题6.12支持向量机和其他基于内核的学习方法“。

结果是软边界SVM可以选择具有非零训练误差的决策边界,即使数据集是线性可分的,也不太可能过度拟合。

以下是使用libSVM解决合成问题的示例。圆圈点显示支持向量。您可以看到,降低C会导致分类器牺牲线性可分性以获得稳定性,因为任何单个数据点的影响现在都受C限制。

enter image description here

支持向量的含义:

对于硬边距SVM,支持向量是“在边缘上”的点。在上面的图片中,C = 1000非常接近硬边距SVM,你可以看到带圆圈的点是触及边距的点(该图中的边距几乎为0,所以它与分离超平面基本相同) )

对于软边际SVM,用双变量来解释它们更容易。根据双变量,您的支持向量预测器是以下函数。

enter image description here

这里,alphas和b是在训练过程中找到的参数,xi,yi是你的训练集,x是新的数据点。支持向量是训练集中的数据点,它们包含在预测器中,即具有非零alpha参数的数据点。

答案 1 :(得分:3)

在我看来,Hard Margin SVM过度拟合特定数据集,因此无法概括。即使在线性可分的数据集中(如上图所示),边界内的异常值也会影响边界。软边缘SVM具有更多功能,因为我们可以通过调整C来控制选择支持向量。