【发布时间】:2011-06-05 11:54:43
【问题描述】:
给定一个线性可分的数据集,使用硬边距 SVM 是否一定比软边距 SVM 更好?
【问题讨论】:
-
我认为在线性可分数据集的情况下,不需要SVM,当你没有很好的线性分离数据时,SVM很有用。 SVM 的荣誉是软利润,在你的情况下你不需要它。
标签: algorithm machine-learning svm
给定一个线性可分的数据集,使用硬边距 SVM 是否一定比软边距 SVM 更好?
【问题讨论】:
标签: algorithm machine-learning svm
我希望软边距 SVM 会更好,即使训练数据集是线性可分的。原因是在硬边距 SVM 中,单个异常值可以确定边界,这使得分类器对数据中的噪声过于敏感。
在下图中,单个红色异常值本质上决定了边界,这是过拟合的标志
要了解软边距 SVM 的作用,最好在对偶公式中查看它,您可以看到它与硬边距具有相同的边距最大化目标(边距可能为负数)边距支持向量机,但有一个额外的约束,即与支持向量相关的每个拉格朗日乘数都以 C 为界。本质上,这限制了任何单个点对决策边界的影响,对于推导,请参见 Cristianini/Shaw-Taylor 的“介绍”中的命题 6.12支持向量机和其他基于内核的学习方法”。
结果是,即使数据集是线性可分的,soft-margin 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 来控制选择支持向量。
【讨论】: