Ch04 机器学习

SVM 支持向量机 (Support Vector Machine)

一句话理解

SVM 是一个”画线”的分类器——在两类数据之间画一条线(或超平面),让这条线离两边最近的数据点都尽可能远。这条线不是随便画的,而是找”最大间隔”的那条。

零基础理解

你在操场上要把男生和女生分成两队,在地上画一条线。最简单的画法是”只要能分开就行”。但 SVM 说:不,要把线画在正中间——离最近的那个男生和最远的那个女生一样远。这样新来一个人,即使站得稍微偏了一点,也不会被分错。这就是”最大间隔”的思想。

核心概念

1. 最大间隔 (Maximum Margin)

间隔 (Margin):分类超平面到最近数据点的距离。

SVM 的目标是最大化这个间隔。为什么?

间隔大小泛化能力对新数据的鲁棒性
小间隔差新数据稍微偏移就可能分类错误
大间隔好给新数据留出了更大的容错空间

数学表达:

SVM 优化问题(硬间隔):

  • 是超平面的法向量
  • 是偏置项
  • 约束条件 确保所有样本被正确分类且至少在间隔边界外

2. 支持向量 (Support Vectors)

定义:离分类超平面最近的那些数据点,即”刚好在间隔边界上”的点。

特性说明
数量通常远少于总样本数(稀疏性)
决定超平面只有支持向量决定超平面的位置,其他点不影响
为什么叫”支持”它们是”支撑”起超平面的点,去掉任何一个支持向量,超平面都会改变
计算效率预测时只需要和支持向量计算,不需要全部训练数据
      ○
    ○   ○         ●  支持向量
  ○   ○           ○  非支持向量
───○───○───●───   —  分类超平面
  ●   ●   ●       ⋯  间隔边界
    ●   ●
      ●

支持向量 = 离超平面最近的点 (在间隔边界上)

3. 软间隔 (Soft Margin)

现实数据往往不是完全线性可分的。软间隔允许一些点”犯规”——被分错或在间隔内。

松弛变量 :衡量第 i 个样本”犯规”的程度。

参数 C含义效果
C 很大严格惩罚犯规硬间隔,可能过拟合
C 很小容忍犯规更宽的间隔,可能欠拟合
C 适中平衡最佳泛化

4. 核方法 (Kernel Method)

现实数据往往不是线性可分的。核方法把数据映射到高维空间,在那里可能就线性可分了。

核心思想:不显式地做映射,而是通过核函数直接计算高维空间中的内积。

核技巧 (Kernel Trick):我们不需要知道 是什么,只需要知道 怎么算。

常见核函数

核函数公式参数适用场景
线性核无线性可分数据,高维稀疏数据(文本)
多项式核d(次数), c(常数)有明确多项式关系
RBF/高斯核$K(x_i, x_j) = \exp(-\gammax_i - x_j
Sigmoid 核, c类似两层神经网络

RBF 核的参数 的影响

值效果现象
很小每个点影响范围大决策边界平滑,可能欠拟合
很大每个点影响范围小决策边界复杂,可能过拟合

SVM 的优缺点

优点

优点说明
数学优美凸优化问题,全局最优解保证
稀疏性只依赖支持向量,预测高效
核方法通过核技巧处理非线性问题
小样本有效在高维小样本场景表现好
理论保证VC 维理论保证泛化能力

缺点

缺点说明
大规模数据慢训练复杂度 O(n²)~O(n³),百万级样本就很慢
核函数选择困难没有统一的选择标准,靠经验
概率输出困难原生 SVM 输出标签而非概率(需 Platt Scaling)
多分类麻烦需要 OVR 或 OVO 策略组合多个二分类 SVM
对参数敏感C 和 的选择严重影响性能

SVM vs 其他分类器

维度SVM逻辑回归决策树/随机森林神经网络
可解释性中(支持向量)高(权重=特征重要性)高(特征重要性)低
非线性通过核方法需特征工程天然支持天然支持
小样本极好好一般差
大样本差好好极好
高维稀疏好(线性核)极好一般好
概率输出需额外处理原生原生原生
2026 年使用特定场景广泛广泛主流

2026 年 SVM 的地位

SVM 在深度学习时代不再是主流,但在以下场景仍有不可替代的价值:

场景为什么还用 SVM
小样本分类几百个样本时,SVM 通常比神经网络好
高维稀疏数据文本分类、基因数据,线性 SVM 高效且准确
需要理论保证金融风控、医疗诊断需要可证明的最优性
基线模型快速建立 baseline,理解问题难度
嵌入式系统只需存储支持向量,推理极快

相关笔记

来源

关联5

知识图谱

局部图谱 · 点节点跳转