ARTICLE

支持向量机 (SVM)

支持向量机 (Support Vector Machine, SVM) 支持向量机 (Support Vector Machine, SVM) 是一种经典的监督学习算法,由 Vapnik 等人在 1990 年代的统计学习理论框架下提出。其核心思想是在特征空间中寻找一个最优分类超平面,使得该超平面到两类样本中最近数据点的距离(即间隔,margin)最大化。这一

浏览 0 更新 2025-10-26

支持向量机 (Support Vector Machine, SVM)

支持向量机 (Support Vector Machine, SVM) 是一种经典的监督学习算法,由 Vapnik 等人在 1990 年代的统计学习理论框架下提出。其核心思想是在特征空间中寻找一个最优分类超平面,使得该超平面到两类样本中最近数据点的距离(即间隔,margin)最大化。这一几何原则使得 SVM 在高维数据和样本量有限的场景下表现出色,至今仍是机器学习领域最重要的基础算法之一,也是理解统计学习理论的重要切入点。

核心几何直觉

给定一个二分类训练集,其中包含 n n 个样本,每个样本由特征向量和标签 (xi,yi) (\mathbf{x}_i, y_i) 构成。SVM 的目标是找到一个超平面 wx+b=0 \mathbf{w} \cdot \mathbf{x} + b = 0 ,使得所有样本被正确分类。在线性可分情形下,存在无穷多个超平面可以完美分隔两类数据,但 SVM 选择的是使间隔最大的那个——即距离两类样本都尽可能远的分界面。

间隔 (margin) 定义为超平面到最近样本距离的两倍。最大化间隔源于结构风险最小化 (Structural Risk Minimization) 原则:间隔越大,分类器的泛化能力越强,对未见数据的预测误差上界越小。那些恰好位于间隔边界上的训练样本被称为支持向量 (support vectors),它们是决定分类超平面的关键样本。非支持向量的样本在训练完成后可被直接丢弃,不影响任何后续预测,这使得 SVM 天然具有稀疏性,存储和预测效率均极高。这一性质使得 SVM 在嵌入式系统和实时推理场景中也具有实用价值。

数学形式

对于线性可分情形,SVM 的优化问题可表述为:

minw,b12w2s.t.yi(wxi+b)1,  i\min_{\mathbf{w},b} \frac{1}{2}\|\mathbf{w}\|^2 \quad \text{s.t.} \quad y_i(\mathbf{w}\cdot\mathbf{x}_i + b) \geq 1,\; \forall i

这是一个凸二次规划问题,目标是最小化参数向量的 L2 范数(等价于最大化间隔),约束条件确保每个样本被正确分类且位于间隔边界之外。通过拉格朗日乘子法,原始问题可转化为对偶形式:

maxαi=1nαi12i=1nj=1nαiαjyiyj(xixj)\max_{\alpha} \sum_{i=1}^n \alpha_i - \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n \alpha_i\alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j)

对偶形式的关键优势在于两个方面:其一,优化变量变为拉格朗日乘子 α \alpha ,约束条件也更为简洁;其二,样本特征仅以内积形式出现,这为核方法的引入提供了数学基础。KKT 条件进一步表明,仅有支持向量对应的 αi \alpha_i 非零,其余乘子均为零——这正是 SVM 稀疏性的数学根源。

软间隔与松弛变量

现实数据往往不是线性可分的,即使可分也可能因噪声导致过拟合。Cortes 和 Vapnik (1995) 引入了软间隔 (soft margin) 概念,通过松弛变量 ξi0 \xi_i \geq 0 允许部分样本违反间隔约束:

minw,b,ξ12w2+Ci=1nξi\min_{\mathbf{w},b,\xi} \frac{1}{2}\|\mathbf{w}\|^2 + C\sum_{i=1}^n \xi_i

其中 C>0 C > 0 是正则化参数,用于平衡间隔最大化和误分类惩罚。C C 越大,对误分类的容忍度越低,模型倾向于更复杂的决策边界(低偏差、高方差);C C 越小,模型更倾向于简单(高偏差、低方差)。软间隔的引入使得 SVM 在实际应用中具有更强的鲁棒性。

核方法 (Kernel Trick)

SVM 最强大的特性之一是核技巧。当数据在原空间中线性不可分时,可以将数据映射到高维(甚至无限维)特征空间,在高维空间中寻找线性分类超平面。对偶问题中样本仅以内积 xixj \mathbf{x}_i \cdot \mathbf{x}_j 形式出现,因此不需要显式计算高维映射 ϕ(x) \phi(\mathbf{x}) ,只需定义核函数 K(xi,xj)=ϕ(xi)ϕ(xj) K(\mathbf{x}_i, \mathbf{x}_j) = \phi(\mathbf{x}_i) \cdot \phi(\mathbf{x}_j) 即可,从而大大降低了计算复杂度。常用核函数包括:

  • 线性核K(x,x)=xx K(\mathbf{x}, \mathbf{x}') = \mathbf{x} \cdot \mathbf{x}' ,适用于高维稀疏数据(如文本分类),此时无需非线性映射。
  • 多项式核K(x,x)=(γxx+r)d K(\mathbf{x}, \mathbf{x}') = (\gamma \mathbf{x} \cdot \mathbf{x}' + r)^d ,可学习特征间多项式交互,参数 d d 控制复杂度。
  • 径向基函数 (RBF) 核K(x,x)=exp(γxx2) K(\mathbf{x}, \mathbf{x}') = \exp(-\gamma \|\mathbf{x} - \mathbf{x}'\|^2) ,是最常用的非线性核,对应于无限维特征空间,参数 γ \gamma 控制每个样本的影响半径。
  • Sigmoid 核K(x,x)=tanh(γxx+r) K(\mathbf{x}, \mathbf{x}') = \tanh(\gamma \mathbf{x} \cdot \mathbf{x}' + r) ,来源于神经网络,但未必满足 Mercer 条件。

实践中一般而言,RBF 核是合理的默认选择,尤其在对数据分布缺乏先验知识时。

从二分类到多分类与回归

原生 SVM 是二分类器。扩展到多分类的常用策略包括一对多 (One-vs-Rest) 和一对一 (One-vs-One)。SVM 的思想也可推广到回归问题,称为支持向量回归 (SVR),其目标是使大多数样本的预测误差在 ϵ \epsilon 范围内(ϵ \epsilon -不敏感损失),同时保持函数平坦。落在 ϵ \epsilon 管道之外的样本成为支持向量。

优缺点与应用

优势包括:在小样本、高维数据上表现优异,理论基础坚实;决策函数仅由支持向量决定,模型稀疏,预测效率高;核方法赋予强大的非线性建模能力;凸优化问题保证全局最优解。

局限包括:大规模数据上训练效率较低(对偶问题复杂度约 O(n2) O(n^2) O(n3) O(n^3) ),不直接适用于百万级样本;对核函数和参数(C C γ \gamma 等)敏感,需仔细调参;不直接输出概率估计,需通过 Platt 缩放后处理;对缺失数据较为敏感。

典型应用:文本分类与情感分析(高维稀疏特征)、图像识别、生物信息学(基因表达数据分类)、手写数字识别、异常检测等。

现代视角

尽管深度学习在诸多领域占据主导地位,SVM 仍在特定场景中不可替代。当数据量有限、特征维度高、可解释性要求高时,SVM 往往比复杂神经网络更合适。其严格的数学基础和清晰的几何直觉使其成为理解分类问题本质的重要框架。SVM 的核心概念——最大化间隔、核方法、支持向量——已深刻影响了后续机器学习算法的发展,核方法的思想更是催生了核 PCA、核 Fisher 判别等一系列方法。