本文是周志华《机器学习》(西瓜书)第6章 支持向量机(SVM)的学习笔记,涵盖本章所有核心知识点,配有通俗类比与公式推导。

1间隔与支持向量

SVM 的目标是找到一个超平面 wx+b=0w^\top x + b = 0,使两类样本到它的最小距离最大化

📐 公式

maxw,b2ws.t.yi(wxi+b)1,  i=1,,m \max_{\boldsymbol{w},b} \frac{2}{\|\boldsymbol{w}\|} \quad \text{s.t.} \quad y_i(\boldsymbol{w}^\top \boldsymbol{x}_i + b) \ge 1,\; i=1,\dots,m

等价于最小化 12w2\frac{1}{2}\|\boldsymbol{w}\|^2。距离超平面最近的几个样本称为支持向量(Support Vectors),它们决定了超平面的位置。

wTx+b=0(决策边界) wTx+b=1 wTx+b=-1 间隔 = 2/||w|| ★ 支持向量(大圆点)决定边界位置

🍉 通俗类比

SVM 像是在两群人之间拉一条警戒隔离带。要的不是刚好把人分开就行,而是让隔离带尽可能宽——带宽越大,新来的人越不容易站错队。那些刚好贴在隔离带边上的人就是”支持向量”,他们决定了隔离带该拉在哪。

2对偶问题

将原始问题转换为对偶问题,是 SVM 引入核技巧的关键一步。用拉格朗日乘子法:

📐 公式

L(w,b,α)=12w2+i=1mαi(1yi(wxi+b)) L(\boldsymbol{w}, b, \boldsymbol{\alpha}) = \frac{1}{2}\|\boldsymbol{w}\|^2 + \sum_{i=1}^m \alpha_i(1 - y_i(\boldsymbol{w}^\top \boldsymbol{x}_i + b))

令偏导为零并代回,得到对偶问题:

📐 公式

maxαi=1mαi12i=1mj=1mαiαjyiyjxixjs.t.i=1mαiyi=0,  αi0 \max_{\boldsymbol{\alpha} } \sum_{i=1}^m \alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m \alpha_i \alpha_j y_i y_j \boldsymbol{x}_i^\top \boldsymbol{x}_j \quad \text{s.t.} \sum_{i=1}^m \alpha_i y_i = 0,\;\alpha_i \ge 0

关键洞察

  • KKT 条件:最优解时,αi>0\alpha_i > 0 的样本恰是支持向量
  • 对偶问题只涉及内积 xixj\boldsymbol{x}_i^\top \boldsymbol{x}_j,为核函数替换埋下伏笔
  • SMO 算法:每次固定两个 α\alpha,解析求解,高效逼近最优解

⚠️ 注意事项

**为什么要对偶?**原始问题维度是特征数 dd,对偶问题维度是样本数 mm。更重要的是,对偶形式中样本仅以内积形式出现,这直接通向核技巧。

3核函数

当数据线性不可分时,将样本映射到高维空间 ϕ(x)\phi(\boldsymbol{x})。但直接在高维空间算内积很贵。核函数 κ(,)\kappa(\cdot,\cdot) 可以在原空间完成等价计算:

📐 公式

κ(xi,xj)=ϕ(xi),ϕ(xj)=ϕ(xi)ϕ(xj) \kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) = \langle \phi(\boldsymbol{x}_i), \phi(\boldsymbol{x}_j) \rangle = \phi(\boldsymbol{x}_i)^\top \phi(\boldsymbol{x}_j)

常见核函数

名称 表达式 参数
线性核 κ(xi,xj)=xixj\kappa(x_i,x_j)=x_i^\top x_j
多项式核 κ(xi,xj)=(xixj+c)d\kappa(x_i,x_j)=(x_i^\top x_j + c)^d dd 为次数
高斯核 (RBF) κ(xi,xj)=exp(γxixj2)\kappa(x_i,x_j)=\exp(-\gamma\|x_i-x_j\|^2) γ>0\gamma > 0
Sigmoid 核 κ(xi,xj)=tanh(βxixj+θ)\kappa(x_i,x_j)=\tanh(\beta x_i^\top x_j + \theta) β,θ\beta,\theta

🍉 通俗类比

核函数像一副魔法眼镜。戴上它之前(原空间),红点和蓝点混在一起分不开;戴上之后(高维映射),它们神奇地变得可以被一条线分开了。高斯核是最常用的”万能眼镜”。

💡 技巧提示

核函数必须是正定核:等价于核矩阵(Gram Matrix)对所有样本集半正定。这是判断一个函数能否做核函数的充要条件。

4软间隔与正则化

现实中数据很少完全线性可分(噪声、异常点)。软间隔允许一些样本不满足约束,引入松弛变量 ξi\xi_i 和惩罚参数 CC

📐 公式

minw,b,ξ12w2+Ci=1mξis.t.  yi(wϕ(xi)+b)1ξi,  ξi0 \min_{\boldsymbol{w},b,\xi} \frac{1}{2}\|\boldsymbol{w}\|^2 + C\sum_{i=1}^m \xi_i \quad \text{s.t.} \; y_i(\boldsymbol{w}^\top\phi(\boldsymbol{x}_i)+b) \ge 1-\xi_i,\; \xi_i \ge 0
  • CC \to \infty:退化为硬间隔,不允许任何错误
  • CC 较小:更宽容,允许更多点越过边界(正则化更强)
  • 对偶形式中,约束变为 0αiC0 \le \alpha_i \le C
ξ_i > 0

🍉 通俗类比

软间隔就像考试及格线有浮动空间。C 很大 = 老师很严格,一分都不能差。C 很小 = 老师比较宽容,58 分也可以算及格。现实中我们要找一个合适的 C 值,既不太松也不太严。

5支持向量回归 SVR

SVM 扩展到回归任务:不再追求完美拟合每个点,而是在中心线 ±ε\pm\varepsilon 区域内不计入损失,只有落在管道外的点才被惩罚。

📐 公式

minw,b12w2+Ci=1mε(f(xi)yi) \min_{\boldsymbol{w},b} \frac{1}{2}\|\boldsymbol{w}\|^2 + C\sum_{i=1}^m \ell_\varepsilon(f(\boldsymbol{x}_i) - y_i)

其中 ε(z)=max(0,zε)\ell_\varepsilon(z) = \max(0, |z| - \varepsilon)ε\varepsilon-不敏感损失函数。

🍉 通俗类比

SVR 的 ε\varepsilon-管道像高速公路的车道线——在车道内开(偏差 < ε)不算错误;只有偏出车道了才开始计罚。这比最小二乘回归更”粗放”,但也因此对异常值更鲁棒。

6核方法

SVM 成功的核心启示可推广为核方法:只要一个学习算法中样本仅以内积形式出现,就可以用核函数替代内积,将其”核化”为非线性版本。如核 PCA(KPCA)、核 LDA、核 k-Means 等。

📌 核心定义

表示定理:正则化经验风险最小化问题的解总可表示为核函数在训练样本上的线性组合:f(x)=i=1mαiκ(x,xi)f(\boldsymbol{x}) = \sum_{i=1}^m \alpha_i \kappa(\boldsymbol{x},\boldsymbol{x}_i)。这为核方法的普适性提供了理论基础。

7本章总结

SVM 知识体系 最大间隔超平面 对偶 + KKT + SMO 核函数(升维打击) 软间隔引入松弛变量 ξ_i,参数 C 控制容错度 SVR 回归 + 核方法推广(KPCA, 核LDA...)

📝 考试高频考点

  • 间隔定义 γ=2w\gamma = \frac{2}{\|\boldsymbol{w}\|} 及其最大化推导
  • 对偶问题转化:拉格朗日乘子 → KKT 条件 → 发现”样本只以内积出现”
  • 核函数的核心作用:隐式高维映射 + 在原空间计算
  • 高斯核 (RBF) 是最常用的核函数,γ\gamma 参数控制复杂度
  • 软间隔 C 参数:C 大→过拟合,C 小→欠拟合
  • 支持向量的稀疏性:最终模型仅由少数支持向量决定