SVM-硬边还是软边?
machine-learning
svm
5
0

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

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

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

在下图中,单个红色离群值实质上确定了边界,这是过度拟合的标志

在此处输入图片说明

为了了解软利润支持SVM的功能,最好采用对偶公式进行观察,您可以看到它具有与硬利润支持SVM相同的利润最大化目标(利润可能为负),但有一个附加的约束条件,即与支持向量关联的每个拉格朗日乘数都以C为边界。从本质上讲,这限制了决策边界上任何单个点的影响,有关推导,请参阅Cristianini / Shaw-Taylor的“支持向量简介”中的命题6.12。机器和其他基于内核的学习方法”。

结果是,即使数据集是线性可分离的,软边际支持向量机也可以选择具有非零训练误差的决策边界,并且过拟合的可能性较小。

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

在此处输入图片说明

支持向量的含义:

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

对于软容限支持向量机,更容易用对偶变量来解释它们。根据对偶变量,您的支持向量预测变量是以下函数。

在此处输入图片说明

在这里,alpha和b是在训练过程中找到的参数,xi,yi是您的训练集,x是新的数据点。支持向量是来自训练集的数据点,包含在预测变量中,即,α参数非零的那些。

收藏
评论

我认为,Hard Margin SVM过度适合特定的数据集,因此不能一概而论。即使在线性可分离的数据集中(如上图所示),边界内的异常值也会影响边距。软边距SVM具有更多的通用性,因为我们可以通过调整C来选择支持向量。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号