CHAPTER 6
✓ 已完成
🎯

支持向量机

Support Vector Machine

学习目标

🎯
  • 理解间隔最大化的核心思想和几何意义
  • 掌握对偶问题和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||
⇓ 等价于

最小化:

½ ||w||²

约束条件:

yᵢ(w·xᵢ + b) ≥ 1, ∀i

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

🎮

SVM可视化演示

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

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

对偶问题

🔄

为什么要引入对偶问题?

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

🚀
更易求解

对偶问题往往更容易优化

🔑
引入核函数

为核技巧提供基础

📊
稀疏解

大部分α为0

对偶问题

最大化:

L(α) = Σαᵢ - ½ΣΣαᵢαⱼyᵢyⱼxᵢ·xⱼ

约束条件:

Σαᵢyᵢ = 0
αᵢ ≥ 0, ∀i
📐

KKT条件

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

αᵢ ≥ 0

对偶变量非负

yᵢ(w·xᵢ + b) - 1 ≥ 0

原始约束满足

αᵢ[yᵢ(w·xᵢ + b) - 1] = 0

互补松弛条件(关键!)

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

6.3

核函数

🎩

核技巧(Kernel Trick)

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

传统方法

显式计算映射 φ(x)

在高维空间计算内积 φ(xᵢ)·φ(xⱼ)

❌ 问题:维度可能极高,甚至无穷维!

核技巧

直接定义核函数 K(xᵢ, xⱼ)

K(xᵢ, xⱼ) = φ(xᵢ)·φ(xⱼ)

✓ 无需显式计算φ(x)!

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

🔍

常用核函数对比

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

RBF核(高斯核)

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

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

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

优点

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

⚠️ 缺点

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

软间隔与正则化

🛡️

软间隔SVM

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

软间隔优化目标

最小化:

½||w||² + C·Σξᵢ

约束条件:

yᵢ(w·xᵢ + b) ≥ 1 - ξᵢ
ξᵢ ≥ 0

ξᵢ (松弛变量)

允许样本违反约束的程度

C (惩罚参数)

控制对误分类的惩罚强度

C → 0

容忍更多误分类
间隔更大
可能欠拟合

C 适中

平衡间隔与误差
泛化能力好
通常最优

C → ∞

接近硬间隔
追求完美分类
可能过拟合

📉

损失函数视角

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

min[Σℓ(yᵢ, f(xᵢ)) + λ||w||²]
Hinge损失
ℓ(y, f(x)) = max(0, 1-yf(x))

• yf(x) ≥ 1: 损失为0(正确且确信)
• yf(x) < 1: 线性增长(惩罚违反间隔)

正则化项
λ||w||²

• 控制模型复杂度
• 防止过拟合
• λ = 1/(2C)

6.5

支持向量回归 (SVR)

📈

从分类到回归

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

SVR优化目标

最小化:

½||w||² + C·Σ(ξᵢ + ξᵢ*)

约束条件:

f(xᵢ) - yᵢ ≤ ε + ξᵢ
yᵢ - f(xᵢ) ≤ ε + ξᵢ*
ξᵢ, ξᵢ* ≥ 0
ε-不敏感损失

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

参数说明

• ε: 容忍误差(管道宽度)
• C: 惩罚参数
• ξ, ξ*: 松弛变量

SVR的优势

✓ 优点
  • 对异常值鲁棒(ε-不敏感)
  • 稀疏解,预测高效
  • 可通过核函数处理非线性
  • 泛化能力强
⚠️ 挑战
  • 参数(C, ε, 核参数)选择困难
  • 大规模数据集训练慢
  • 需要选择合适的核函数
📝

本章小结

支持向量机通过最大化间隔寻找最优分类超平面,具有良好的泛化能力

对偶问题和KKT条件保证了SVM解的稀疏性,只有支持向量对应的α非零

核技巧允许在不显式计算高维映射的情况下,处理非线性可分问题

软间隔SVM通过引入松弛变量和惩罚参数C,可以处理噪声和不完全可分数据

SVR将SVM思想扩展到回归任务,使用ε-不敏感损失函数实现鲁棒回归

RBF核是最常用的核函数,适合大多数实际应用场景