支持向量机 · 最大间隔 / 核技巧

SVM:最胖的分界线才是好分界线

同样能分开两类,SVM 挑的是「离两边都尽量远」的那条线——直觉是:边界离数据越远,新样本踩错的可能性越小。线性核把间隔带和支持向量亮给你看;惩罚系数 C 控制纪律松紧;换多项式核,边界立刻能弯——数据没变,变的是它被映射到的空间。

分类画布

白圈 = 支持向量(决定边界的点);虚线 = 间隔带边缘。核模式下阴影表示预测区域,不再有直线边界。

控制台

训练准确率—
支持向量数—
间隔宽度 2/‖w‖—
模型说明线性核

原理:最大间隔与核技巧

SVM 想找的不只是「能分开」的直线,而是离两类都最远的直线——间隔最大化。直觉:能把两类分开的直线有无穷多条,但「最胖」的那条对数据扰动的容忍度最大,泛化通常最好。允许犯错时(软间隔),目标变成「间隔大 + 犯错少」的折中:

min  ½‖w‖² + C · Σ max(0, 1 − yᵢ(w·xᵢ+b))

前一项压间隔(越小间隔越宽),后一项是铰链损失:分类正确且「够自信」(间隔外)时为 0,否则线性增长。C 是两者的汇率。

C:纪律松紧旋钮

  • C 很小:犯错便宜 → 间隔拉得很宽,允许大量样本越界——边界平滑,欠拟合倾向。
  • C 很大:犯错昂贵 → 间隔被挤窄、几乎不容忍错误——边界贴着数据走,过拟合倾向。
  • 把 C 从 0.03 拉到 30,盯住「间隔宽度」和「支持向量数」两个数字一降一升的过程——这就是正则化强度的具象化。

支持向量:边界只由它们决定

白圈以外的点删掉再多,重新训练后边界纹丝不动——只有落在间隔带边缘(或越界)的支持向量参与「立界」。这与「看所有点」的 Logistic 回归形成鲜明对比:SVM 的解是稀疏的。数学上来自对偶问题:解出每个样本的拉格朗日乘子 αᵢ,只有违反间隔的样本 αᵢ > 0,w = Σαᵢyᵢxᵢ 里它们才有戏份。

核技巧:不升维也能画曲线

低维线性不可分(双月)时,把数据映射到高维再切平面。妙在训练只用到样本间的内积——把内积替换成核函数 K(xᵢ, x),等于隐式完成了映射,永远不必算出高维坐标:

K(xᵢ, x) = (1 + xᵢ·x)d  (多项式核)  ,  exp(−γ‖xᵢ−x‖²)  (高斯 RBF 核)

  • 多项式核:本页 d=2~5 可调,双月数据 d=3 就能把弯月围住。
  • RBF 核:γ 大 → 每个点自成势力范围(边界碎),γ 小 → 过于平滑。它是默认首选,但样本量大时核矩阵 n×n 存不动——这就是 SVM 很少用于百万级数据的原因。
  • 核的选择:文本用线性核往往够(高维稀疏),图像/一般非线性用 RBF;有行业知识时自定义核。核矩阵半正定是合法核的条件(Mercer 定理)。

实现说明:线性模式用手写铰链损失 + L2 的次梯度下降(软间隔 SVM);多项式核模式用最小二乘 SVM(LSSVM)近似求解核方程——两种都是课程范围内的手写实现。

知识点拆解:把 SVM 学扎实

直觉

间隔 = 抗噪冗余

测试数据总有抖动,边界离样本越远,抖一点也不会判错。最大间隔不是审美偏好,是「给未来的噪声留余量」的泛化策略。

对应演示:看虚线之间的宽度
对偶

为什么要转对偶问题

原始问题解 w 直接又快,但对偶把约束装进乘子 α、让「核技巧」可以插入(内积可替换)、还让支持向量自动浮现——一石三鸟,代价是要解 QP。

关键词:拉格朗日乘子 / KKT
几何

支持向量是「地标」

它们是边界附近的少数关键样本:删掉非支持向量边界不动,挪动支持向量边界必动。SVM 把「哪些数据重要」这个问题直接写进了答案。

对应演示:数白圈的数量
对比

SVM vs Logistic 回归

都找线性边界:Logistic 看全体样本、输出校准概率、损失是交叉熵;SVM 只看边界样本、输出类别(概率要额外做 Platt 校准)、损失是铰链。小到中样本、特征密集时 SVM 常更稳,需要概率输出时选 Logistic。

关键词:稀疏解 vs 概率输出
  • 间隔 2/‖w‖ — 两类「街道」的宽度
  • 铰链损失 — max(0, 1−y·f(x))
  • 软间隔 — 允许越界换稳健
  • 支持向量 — αᵢ>0、决定边界的样本
  • 核技巧 — 内积→核函数,隐式高维映射
  • RBF 核 — exp(−γ‖x−x′‖²),默认非线性首选

期末高频问答

  • 为什么「最大化间隔」等价于「最小化 ½‖w‖²」?间隔宽 2/‖w‖:‖w‖ 越小间隔越宽。最大化 2/‖w‖ 等价于最小化 ‖w‖,再加个 ½ 纯粹为了求导时消掉平方——约束下凸优化,全局最优有保证。
  • 核函数一定要显式写出映射 φ 吗?不用——这正是核技巧的价值。只要 K(x,x′) = φ(x)·φ(x′) 且 K 满足半正定(Mercer 条件),就能合法使用;RBF 核对应的 φ 甚至在无穷维。
  • SVM 怎么做回归?SVR:反转思路——让尽可能多的样本落进 ε-管道(预测误差 ≤ ε 不罚),只惩罚管道外的偏差,同样追求管道平坦。Loss 换成 ε-不敏感损失。