给定一个线性可分的数据集,使用硬边距 SVM 是否一定比软边距 SVM 更好?
2 回答
即使训练数据集是线性可分的,我也希望软边距 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 参数的数据点。
在我看来,Hard Margin SVM 会过度拟合特定的数据集,因此无法泛化。即使在线性可分数据集中(如上图所示),边界内的异常值也会影响边距。Soft Margin SVM 具有更多的通用性,因为我们可以通过调整 C 来控制选择支持向量。