SVM – 硬边界还是软边界?

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


回答:

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

在下面的图表中,单个红色异常值几乎决定了边界,这是过拟合的典型标志。

enter image description here

为了理解软边界SVM的工作原理,最好从其对偶形式来看,你会发现它具有与硬边界SVM相同的最大化边界的目标(边界可以为负),但增加了一个约束,即每个与支持向量相关的拉格朗日乘数被C所限制。这实际上限制了任何单个点对决策边界的影响,有关推导,请参见Cristianini/Shaw-Taylor的《支持向量机及其它基于核的学习方法导论》中的命题6.12。

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

这是一个使用libSVM在合成问题上的例子。圈出的点显示了支持向量。你可以看到,降低C值会使分类器牺牲线性可分性以获得稳定性,从某种意义上说,任何单个数据点的影響现在由C限制。

enter image description here

支持向量的意义:

对于硬边界SVM,支持向量是那些“位于边界上”的点。在上图中,C=1000几乎接近硬边界SVM,你可以看到圈出的点是那些将触及边界的点(图中的边界几乎为0,所以它基本上与分隔超平面相同)。

对于软边界SVM,用对偶变量来解释它们会更容易。你的支持向量预测器在对偶变量中的形式如下函数所示。

enter image description here

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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注