繁体   English   中英

SVM - 硬边距还是软边距?

[英]SVM - hard or soft margins?

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

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

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

在此处输入图片说明

要了解软边距 SVM 正在做什么,最好在对偶公式中查看它,您可以看到它与硬边距 SVM 具有相同的边距最大化目标(边距可能为负),但是有一个额外的约束,即与支持向量相关的每个拉格朗日乘数都以 C 为界。本质上,这限制了任何单个点对决策边界的影响,有关推导,请参见 Cristianini/Shaw-Taylor 的“支持向量简介”中的命题 6.12机器和其他基于内核的学习方法”。

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

这是一个在综合问题上使用 libSVM 的示例。 带圆圈的点显示支持向量。 您可以看到减少 C 会导致分类器牺牲线性可分性以获得稳定性,从某种意义上说,任何单个数据点的影响现在都受 C 限制。

在此处输入图片说明

支持向量的含义:

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

对于 soft-margin SVM,用双变量来解释它们更容易。 就双变量而言,您的支持向量预测器是以下函数。

在此处输入图片说明

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM