【问题标题】:SVM - hard or soft margins?SVM - 硬边距还是软边距?
【发布时间】:2011-06-05 11:54:43
【问题描述】:

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

【问题讨论】:

  • 我认为在线性可分数据集的情况下,不需要SVM,当你没有很好的线性分离数据时,SVM很有用。 SVM 的荣誉是软利润,在你的情况下你不需要它。

标签: algorithm machine-learning svm


【解决方案1】:

我希望软边距 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 参数的数据点。

【讨论】:

  • 对我帮助很大!你能解释一下“支持向量”这个术语吗?它在 SVM 中是什么意思?
  • 支持向量只是被错误分类或正确分类但“接近”决策平面的点。决策规则的形式为 f(x) = w dot x + b,大多数 SVM 公式将“接近” x 定义为 abs(f(x))
  • @YaroslavBulatov,在您的第一个图中,说明了“硬边距”分类器,对我来说,蓝线看起来不像最大边距超平面。如果我让这条线更水平,我会得到更大的边距。你是如何得到这个“硬边距”超平面的?
  • 这是一个近似图,我认为您需要更多的蓝点才能使其精确
  • 很好的反例。一图胜千言。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2021-09-18
    • 2012-09-03
    • 2012-02-08
    • 1970-01-01
    • 2015-10-07
    • 2011-08-10
    • 2013-03-09
    • 2016-06-28
    • 2015-08-11
    相关资源
    最近更新 更多