资讯

硬间隔是什么?支持向量机要求所有样本都必须被完美分开

2026-11-052 分钟阅读百科
TL;DR硬间隔(Hard Margin)是支持向量机的一种形式,要求所有训练样本都被超平面正确分类且全部位于间隔边界之外,只适用于线性可分且没有噪声的数据,对异常值非常敏感,因此实践中通常使用允许少量违反约束的软间隔支持向量机。

硬间隔(Hard Margin)是支持向量机中的一个概念。硬间隔支持向量机要求找到一个分界面,把两类训练样本完全正确地分开,而且所有样本都必须落在间隔边界的外侧,不允许有任何一个样本被分错,也不允许有样本进入间隔区域。“硬”的意思就是这些约束条件是严格的、没有商量余地的。

什么是间隔

支持向量机的目标是在两类数据之间找到一条分界线,在高维空间中是一个超平面。能把两类数据分开的分界线往往有很多条,支持向量机要找的是其中“最稳妥”的那一条:让分界线离两边最近的样本都尽可能远。分界线到两侧最近样本的距离之和就叫作间隔,那些离分界线最近、决定了间隔大小的样本叫作支持向量,支持向量机也因此得名。直观地说,间隔越大,分界线两边留出的“安全缓冲区”越宽,模型对新数据中的小扰动越不敏感,泛化能力通常越好。

硬间隔的优化问题

硬间隔支持向量机要解决的问题是:在所有样本都被正确分类、并且距离分界线至少为一个单位的约束条件下,让间隔最大。在数学上,这等价于在约束条件下最小化权重向量长度的平方。这是一个凸二次规划问题,有唯一的最优解,可以通过拉格朗日对偶的方法高效地求解。求解后会发现,最终的分界线只由少数几个支持向量决定,其他的样本即使去掉也不会影响结果。

硬间隔的局限

硬间隔虽然在理论上很优美,但它有两个明显的问题。第一,只适用于线性可分的数据:如果两类数据有任何重叠,无法用一个超平面完全分开,硬间隔的约束条件就无法同时满足,问题根本没有解。而现实中的数据几乎总会有一些重叠或噪声。第二,对异常值极其敏感:即使数据是线性可分的,只要有一个标错的样本或异常的点出现在对方的阵营附近,为了把它也正确地分开,分界线就不得不大幅地偏移,间隔变得很窄,模型在新数据上的表现会很差,这实际上是一种过拟合。

软间隔与核技巧

为了解决这些问题,Corinna Cortes 和 Vladimir Vapnik 在 1995 年提出了软间隔支持向量机:为每个样本引入松弛变量,允许少数样本落在间隔之内甚至被分错,但要为此付出代价,由惩罚参数 C 来控制容忍的程度。当 C 趋于无穷大时,软间隔就退化为硬间隔。此外,对于本身不是线性可分的数据,还可以用核技巧把数据映射到更高维的空间中,在那里它们可能变得线性可分。在实际应用中,人们几乎总是使用软间隔支持向量机,并结合核函数,硬间隔主要作为理解支持向量机原理的出发点。