资讯

软间隔是什么?允许少数样本越界的支持向量机

2026-11-052 分钟阅读百科
TL;DR软间隔(Soft Margin)是支持向量机中允许部分样本落入间隔区域甚至被分错的设定,通过松弛变量和惩罚系数 C 在间隔宽度与分类错误之间权衡,由 Cortes 和 Vapnik 在 1995 年提出,使支持向量机能处理含噪声、线性不可分的真实数据。

软间隔(Soft Margin)是支持向量机中的一个重要概念。与要求所有样本都必须被完美分开的硬间隔不同,软间隔允许少数样本违反间隔的要求:它们可以落在间隔区域之内,甚至被分到错误的一侧,但要为此付出一定的代价。这一设定由 Corinna Cortes 和 Vladimir Vapnik 在 1995 年提出,让支持向量机真正能够用于含有噪声的实际数据。

为什么需要软间隔

支持向量机的目标是找到一个分界面,让它离两类样本中最近的点都尽可能远,这段距离叫作间隔。硬间隔要求所有样本都在间隔之外并且被正确分类。但现实中的数据很少是完美的:两类样本常常有一些重叠,还可能存在标错的样本和异常值。在这种情况下,硬间隔要么根本找不到满足条件的分界面,要么为了迁就个别异常点,把分界面挤到一个很别扭的位置,间隔变得很窄,模型在新数据上的表现反而很差。软间隔承认数据的不完美,用“少数服从多数”的方式找到一个整体上更合理的分界面。

它是怎么实现的

软间隔为每个样本引入一个非负的松弛变量,表示这个样本违反约束的程度:等于零表示完全满足要求;在零和一之间表示样本进入了间隔但仍被正确分类;大于一表示样本被分错了。优化的目标变成两部分之和:一部分是让间隔尽可能大,另一部分是所有松弛变量之和乘以惩罚系数 C,让违反约束的情况尽可能少。这个过程称为软间隔最大化。

参数 C 的含义

C 控制着对错误的容忍程度。C 越大,违反约束的代价越高,模型越想把每个训练样本都分对,间隔越窄,越接近硬间隔,容易过拟合;C 越小,模型越能容忍一些错误,换来更宽的间隔和更简单的分界面,泛化能力可能更好,但太小又会欠拟合。在实际使用中,C 通常需要通过交叉验证来选择,常常与核函数的参数一起调节。

与铰链损失的关系

软间隔支持向量机还可以从另一个角度理解:它等价于最小化铰链损失加上 L2 正则化项。铰链损失对分类正确且离分界面足够远的样本不予惩罚,对其他样本按违反的程度线性惩罚。这个视角把支持向量机与逻辑回归等其他线性分类器统一了起来,它们的主要区别在于使用了不同的损失函数。如今,几乎所有实际使用的支持向量机都是软间隔的,常用的工具库如 LIBSVM 和 scikit-learn 中的支持向量机默认就是软间隔版本。