支持向量机(二)核心理念

前面我们抛出了一个问题:支持向量机就是寻找一个超平面,把两个类别的样本分开。但是,能够将两个类别样本分开的超平面有很多个,那么支持向量机应该如何选择其中最优的那个?选择依据是什么?接下来,我们从支持向量机的设计思想出发,理解它选择最优超平面的核心原则。

1. 设计思想

我们的模型在训练的时候,训练数可能比较干净。但是,现实中的数据常受噪声或测量误差影响。假设某 +1 类样本 \((2.1,3.5,1.8)\) 预测时因扰动变为 \((2.08,3.52,1.81)\),如果该样本距离分类边界较近,那么这种微小的数据变化,就可能导致模型的判断结果发生改变,使原本属于 +1 类的样本被错误分类为 −1 类。

因此,支持向量机希望:即使输入数据存在一定程度的噪声或误差,模型仍然能够保持可靠的预测结果。

简单来说,支持向量机的核心设计目标,就是提高模型对输入数据扰动的容忍能力,让模型在现实中不太干净的数据上,也能够保持较为可靠的预测能力。


那么,什么样的模型对输入数据扰动的有着较强的容忍能力呢?

直观来看,分类边界尽可能远离样本。因为样本距离分类边界越近,受到微小扰动时越容易跨越边界,导致分类结果发生变化。而样本距离分类边界越远,即使存在一定程度的噪声或误差,通常也不会影响最终的分类结果。

但这里存在一个关键细节:一条分类超平面需要应对全部训练样本,各个样本到超平面的间距并不相等。一部分样本远离决策边界,也有一部分样本紧贴边界附近。想要整体模型拥有优秀的抗扰动性能,我们无需操心那些距离很远的样本,应当优先看重离分类边界最近的样本。它们是整个数据集里最容易被微小噪声扰动、跨过分界线从而发生错分的短板。

因此,我们所要搜寻的最优超平面,需要让离它最近的训练样本到超平面的几何距离尽可能大。以此拉高全体样本的抗扰动能力,让模型整体抗扰动能力抵达最优。

2. 最大间隔

仅凭直观感受无法求解最优超平面,接下来我们通过数学建模与推导,分析样本扰动、样本到超平面距离二者的关系,将 “提升扰动容忍度” 的设计思想转化为具体的优化目标函数。

假设:样本 \(i\) 可能受到的扰动为 \(\delta_{i}\),上限为 \(\epsilon_{i}\):

注意:\(||\delta_{i}||​ \lt \epsilon_{i}\)表示样本最大允许偏离原位置的距离。

对于线性分类器 \(f(x)=w·x+b\) 分类正确条件为:

展开后可得:

第二项是扰动带来的影响,当第二项负向影响足够大的时候,就可能会改变符号,从而改变最终的分类结果。我们希望在受到扰动的时候,仍然能够分类正确,就需要进一步分析第二项,了解它的最坏情况下是什么样的。

我们发现,当 \(\theta\) 为 π 时,\(\delta_{i}\) 达到扰动的上限。

注意:\(||y_{i}w||\) = \( |y_{i}| ||w||\) = \(||w||\)

把最坏扰动代回原始条件:

  • 左边:扰动上限
  • 右边:样本到超平面的几何距离

此时,我们就得到了最大扰动和样本到超平面距离的关系公式。超平面距离样本越远,模型对输入扰动的容忍能力越强。而距离越近,样本受到微小扰动时,就越容易跨越分类边界,导致分类结果发生变化。

我们前面提到:

分类超平面需要应对全部训练样本,各个样本到超平面的间距并不相等。一部分样本远离决策边界,也有一部分样本紧贴边界附近。想要整体模型拥有优秀的抗扰动能力,我们无需操心那些距离很远的样本,应当优先看重离分类边界最近的样本。

所以,支持向量机优化目标可表示为:

公式含义为:内层 min 求所有样本里距离当前超平面的最短几何间隔。外层 max 搜索超平面参数,使得这个最短距离尽可能大。