Skip to content

第6章 支持向量机 ​

🎯 学习目标 ​

  • 理解间隔最大化的核心思想和几何意义
  • 掌握对偶问题和KKT条件在SVM中的应用
  • 理解核技巧如何将线性SVM扩展到非线性情况
  • 掌握软间隔SVM处理非线性可分数据的方法
  • 了解支持向量回归(SVR)的原理和应用

6.1 间隔与支持向量 ​

📏 为什么要最大化间隔?

在线性可分的情况下,能够正确划分训练样本的超平面有无穷多个。支持向量机的核心思想是找到具有**"最大间隔"**的划分超平面。

超平面与间隔 ​

超平面方程:

w⋅x+b=0

样本到超平面的距离:

r=|w⋅x+b|∥w∥

间隔(margin):

γ=2∥w∥

✓ 为什么最大化间隔?

  • 更好的泛化能力
  • 对噪声更鲁棒
  • VC维理论支持

🎯 支持向量

距离超平面最近的训练样本点称为支持向量。它们"支撑"着这个间隔,决定了最优分类超平面。

SVM优化目标 ​

SVM的优化目标是找到使间隔最大化的 w 和 b:

最大化:

γ=2∥w∥

等价于最小化:

12∥w∥2

约束条件:

yi(w⋅xi+b)≥1,∀i

这是一个凸二次规划问题,存在全局最优解,可以通过现有的QP优化算法求解。

SVM可视化演示 ​

调整参数观察SVM如何寻找最大间隔超平面。黄色圆圈标记的是支持向量,绿色虚线表示间隔边界。

1.0
C越大,对误分类的惩罚越重(硬间隔);C越小,容忍更多误分类(软间隔)
正类 (+1)
负类 (-1)
决策边界
支持向量

6.2 对偶问题 ​

🔄 为什么要引入对偶问题?

通过拉格朗日乘子法,我们可以将原始问题转化为对偶问题,这样做有几个重要优势:

  • 🚀 更易求解:对偶问题往往更容易优化
  • 🔑 引入核函数:为核技巧提供基础
  • 📊 稀疏解:大部分 α 为 0

对偶问题公式 ​

最大化:

L(α)=∑iαi−12∑i∑jαiαjyiyjxi⋅xj

约束条件:

∑iαiyi=0,αi≥0,∀i

📐 KKT条件

支持向量机的解需要满足KKT(Karush-Kuhn-Tucker)条件:

① αi≥0 — 对偶变量非负

② yi(w⋅xi+b)−1≥0 — 原始约束满足

③ αi[yi(w⋅xi+b)−1]=0 — 互补松弛条件(关键!)

互补松弛条件表明:只有支持向量对应的 αi>0,其他样本的 αi=0。这就是为什么SVM的解是稀疏的!

6.3 核函数 ​

🎩 核技巧(Kernel Trick)

现实任务中,样本空间往往不是线性可分的。核技巧的思想是:将样本映射到更高维的特征空间,使其在高维空间中线性可分。

传统方法 vs 核技巧 ​

传统方法:

  1. 显式计算映射 ϕ(x)
  2. 在高维空间计算内积 ϕ(xi)⋅ϕ(xj)
  3. ❌ 问题:维度可能极高,甚至无穷维!

核技巧:

  1. 直接定义核函数 K(xi,xj)
  2. K(xi,xj)=ϕ(xi)⋅ϕ(xj)
  3. ✅ 无需显式计算 ϕ(x)!

核函数定理

只要一个对称函数满足正定性,它就对应某个映射 ϕ 的内积。这意味着我们可以直接设计核函数,而无需知道具体的映射形式!

常用核函数对比 ​

了解不同核函数的特点、适用场景和参数设置。RBF核是最常用的核函数,适合大多数情况。

RBF核(高斯核)

核函数公式:
K(x, z) = exp(-γ·||x-z||²)

最常用的核函数,可以将数据映射到无穷维空间

参数说明:
γ: 核宽度参数,控制影响范围

✅ 优点

  • • 可以处理任意非线性问题
  • • 只有一个超参数γ
  • • 适用于大多数情况
  • • 决策边界平滑

⚠️ 缺点

  • • γ选择很关键,需要仔细调参
  • • γ过大导致过拟合,过小导致欠拟合
  • • 计算开销相对较大
典型应用场景:
通用分类问题、模式识别、生物信息学
核函数计算复杂度参数数量非线性能力推荐度
线性核低0无⭐⭐⭐
多项式核中3中等⭐⭐
RBF核中1强⭐⭐⭐⭐⭐
Sigmoid核中2中等⭐
💡
核函数选择建议
  • 首选RBF核:适用于大多数情况,只需调整一个参数γ
  • 高维稀疏数据:使用线性核(如文本分类)
  • 小数据集:可以尝试多项式核
  • 先简单后复杂:从线性核开始,再尝试RBF核
  • 交叉验证:通过网格搜索找到最佳参数

6.4 软间隔与正则化 ​

🛡️ 软间隔SVM

现实任务中,数据往往不是完全线性可分的,可能存在噪声或离群点。软间隔允许某些样本不满足约束条件。

软间隔优化目标 ​

最小化:

12∥w∥2+C∑iξi

约束条件:

yi(w⋅xi+b)≥1−ξi,ξi≥0
  • ξi(松弛变量):允许样本违反约束的程度
  • C(惩罚参数):控制对误分类的惩罚强度
C 值行为风险
C → 0容忍更多误分类,间隔更大可能欠拟合
C 适中平衡间隔与误差,泛化能力好通常最优
C → ∞接近硬间隔,追求完美分类可能过拟合

损失函数视角 ​

软间隔SVM可以从损失函数+正则化的角度理解:

min[∑iℓ(yi,f(xi))+λ∥w∥2]

Hinge损失:

ℓ(y,f(x))=max(0,1−y⋅f(x))
  • y⋅f(x)≥1: 损失为 0(正确且确信)
  • y⋅f(x)<1: 线性增长(惩罚违反间隔)

正则化项 λ∥w∥2 控制模型复杂度,防止过拟合,其中 λ=1/(2C)。

6.5 支持向量回归 (SVR) ​

📈 从分类到回归

SVM不仅可以用于分类,还可以用于回归任务。**支持向量回归(SVR)**的思想是找一个函数,使得大部分样本点都落在以 f(x) 为中心、宽度为 2ε 的"管道"内。

SVR优化目标 ​

最小化:

12∥w∥2+C∑i(ξi+ξi∗)

约束条件:

f(xi)−yi≤ε+ξiyi−f(xi)≤ε+ξi∗ξi,ξi∗≥0

ε-不敏感损失:

  • |y−f(x)|≤ε: 损失为 0
  • |y−f(x)|>ε: 线性惩罚

参数说明:ε 为容忍误差(管道宽度),C 为惩罚参数,ξ,ξ∗ 为松弛变量。

⭐ SVR的优势

  • 对异常值鲁棒(ε-不敏感)
  • 稀疏解,预测高效
  • 可通过核函数处理非线性
  • 泛化能力强

⚠️ SVR的挑战

  • 参数(C, ε, 核参数)选择困难
  • 大规模数据集训练慢
  • 需要选择合适的核函数

📝 本章小结 ​

总结

  • ✅ 支持向量机通过最大化间隔寻找最优分类超平面,具有良好的泛化能力
  • ✅ 对偶问题和KKT条件保证了SVM解的稀疏性,只有支持向量对应的α非零
  • ✅ 核技巧允许在不显式计算高维映射的情况下,处理非线性可分问题
  • ✅ 软间隔SVM通过引入松弛变量和惩罚参数C,可以处理噪声和不完全可分数据
  • ✅ SVR将SVM思想扩展到回归任务,使用ε-不敏感损失函数实现鲁棒回归
  • ✅ RBF核是最常用的核函数,适合大多数实际应用场景

基于周志华《机器学习》教材