更新于 2026年8月11日

软间隔#


术语解释#

在支持向量机(SVM)中,软间隔(Soft Margin)是指在构建分类超平面时,允许部分样本点不满足严格的间隔约束条件,即容许少量样本被错误分类或落在间隔边界之内。与之相对的是“硬间隔”,它要求所有训练样本必须被完美分开且严格位于间隔边界之外,即使这可能导致模型过拟合。

为了实现这一机制,算法为每个样本引入了一个松弛变量(Slack Variable, $\xi_i \ge 0$),使得原本严格的函数间隔要求变为 $y^{(i)}(w^Tx^{(i)}+b) \ge 1 - \xi_i$。


出现动机#

  • 应对噪声和异常点:现实世界的数据集常包含噪声或离群点,若坚持硬间隔,决策边界可能会因为一个异常样本的加入而发生剧烈摆动,导致分类间隔变得极其狭窄。

  • 防止过拟合风险:硬间隔超平面如果对异常点过于敏感,虽然能在训练集上达到零误差,但在测试集上的泛化能力往往很差。

  • 解决线性不可分问题:在许多实际场景中,即便将特征映射到高维空间,也可能无法找到一个能完全无误地分开所有样本的超平面,此时必须通过软间隔来获取次优的可行解。


直观示例#

在图10-9中,实线为相应的决策面,黑色方块和黑色圆点分别为两个类别的样本。在图10-9(a)中,通过SVM建模得到的决策面已经完美地将两种类别的样本点进行了区分,但是,如果此时训练样本中加入一个异常点,并且继续用SVM建模求解,则将会得到图10-9(b)中所示的分类决策面。可以发现,虽然此时决策面也成功地区分开了每个样本点,但是相较于图10-9(a)中的决策面却发生了剧烈的摆动,决策面到支持向量的距离也变得十分狭窄。

图 10-9 SVM软间隔与硬间隔
图 10-9 SVM软间隔与硬间隔

在SVM中,将图10-9(a)和图10-9(b)中决策面到支持向量的间隔称为硬间隔(Hard Margin),即不允许任何样本出现错分的情况,即使可能导致过拟合。当然,理想情况下期望的应该是图10-9(c)中的这种情况,容许少量样本被错分从而得到一个次优解,而这个容忍的程度则通过目标函数来调节。或者再极端一点就是根本找不到一个超平面能够将样本无误地分开,必须错分一些样本点。此时图10-9(c)中决策面到支持向量的间隔便被称为软间隔(Soft Margin)。

从上面的介绍可知,如数据集中出现了异常点,则必将导致该异常点的函数间隔小于1,所以可以为每个样本引入一个松弛变量(${{\xi }_{i}}\ge 0$)来使函数间隔加上松弛变量大于或等于1。

$$ {{y}^{(i)}}({{w}^{T}}{{x}^{(i)}}+b)\ge 1-{{\xi }_{i}}\tag{10-21} $$

更多相关内容,可参见「10.4 SVM软间隔原理:噪声样本与惩罚因子C」


优点缺点#

  • 优点:

    • 增强模型泛化能力:软间隔允许模型在“最大化间隔”与“减少错分样本”之间寻找平衡,通常能在未知数据上表现得更加稳健。

    • 提高决策边界的稳定性:由于模型不再试图去拟合每一个细微的噪声点,其决策边界的位置不会因为个别样本的轻微变动而产生大幅度位移。

    • 灵活的控制机制:通过调节惩罚系数 $C$,开发者可以人为干预模型对错误的容忍程度。较小的 $C$ 允许更多的错分以换取更宽的分类间隔,增强了模型处理复杂数据的灵活性。

  • 缺点

    • 引入超参数调节负担:惩罚系数 $C$ 的最优取值没有固定标准,通常需要依赖繁琐的网格搜索和交叉验证过程来确立。

    • 潜在的欠拟合风险:如果 $C$ 设置得过小,模型可能会因为过度容忍错误而无法捕捉数据中的基本规律,导致模型进入高偏差(欠拟合)状态。

    • 支持向量的定义变复杂:在软间隔模型中,影响决策面位置的不仅是边界上的点,还包括位于边界内部甚至被错分的点,这使得分析样本对模型的贡献度变得更加复杂。

阅读 --

10.1 SVM思想

支持向量机原理入门,讲解 SVM 的分类直觉、最大间隔思想,以及支持向量的核心作用。

10.4 SVM中的软间隔

在前面几节内容中,我们分别介绍了什么是支持向量机及如何通过sklearn来完成整个SVM的建模过程,然后还介绍了什么是线性不可分与核函数的用法。在接下来的这节内容中,我们将继续介绍SVM中的软间隔及其在sklearn中的示例用法。