A02 · 第 2 章 · 第一编 核方法

最大间隔与支持向量机

从超平面几何间隔推导硬间隔与软间隔原问题,通过 Lagrange 对偶和 KKT 条件识别支持向量并核化,分析惩罚参数、特征尺度、类别重叠、计算成本和多分类策略边界。

报告页面错误
预备知识特征映射、正定核与再生核空间约束优化、KKT 条件与对偶性逻辑回归

本章目标

  1. 区分函数间隔与几何间隔,由规范化约束推导硬间隔原问题。
  2. 用松弛变量和 hinge 损失解释软间隔、类别重叠与惩罚参数 C。
  3. 推导线性软间隔对偶,使用 KKT 条件判断支持向量并恢复分类函数。
  4. 用正半定核替代内积,说明特征尺度、核参数和支持向量数量的影响。
  5. 界定概率输出、类别不平衡、多分类与大样本部署中 SVM 的能力边界。
页面阅读位置0% · 仅保存在此浏览器
章节未开始
本册完成进度0/6 章 · 0%
本页目录

超平面与两种间隔

二分类标签取 yi{1,+1}y_i\in\{-1,+1\},线性得分为

f(x)=wTx+b,f(x)=w^\mathsf Tx+b,

预测由 signf(x)\operatorname{sign}f(x) 给出,决策超平面是 f(x)=0f(x)=0。样本的函数间隔为 yif(xi)y_i f(x_i):它为正表示分类正确,数值越大通常离边界越远。但把 (w,b)(w,b) 同时乘正数 aa 不改变超平面与预测,却把函数间隔也乘 aa,所以不能直接靠放大参数宣称边界更好。

点到超平面的有符号几何距离为

f(x)w2,\frac{f(x)}{\lVert w\rVert_2},

样本几何间隔为 yif(xi)/w2y_if(x_i)/\lVert w\rVert_2,它对参数的共同正缩放不变。对可分数据,可以选取规范化尺度,使最小函数间隔等于 1,即

yi(wTxi+b)1.y_i(w^\mathsf Tx_i+b)\ge1.

这时离边界最近样本的距离至少为 1/w1/\lVert w\rVert,两条支撑超平面 f=+1f=+1f=1f=-1 的距离为 2/w2/\lVert w\rVert。最大化间隔等价于最小化参数范数平方,得到硬间隔原问题

minw,b 12w22subject toyi(wTxi+b)1i.\min_{w,b}\ \frac12\lVert w\rVert_2^2 \quad\text{subject to}\quad y_i(w^\mathsf Tx_i+b)\ge1\quad\forall i.

因子二分之一简化求导,不改变最优点。截距通常不惩罚,因此平移边界不会直接增加目标;若实现把截距也放入惩罚,优化问题和几何解释会改变。

例 1:二维数据逐步求最大间隔与支持向量

正类点为

(2,0),(2,2),(3,1),(2,0),(2,2),(3,1),

负类点为

(0,0),(0,2),(1,1).(0,0),(0,2),(-1,1).

两类最近的竖直边分别在 x1=2x_1=2x1=0x_1=0,中间超平面应为 x1=1x_1=1。取 w=(1,0)w=(1,0)b=1b=-1,得 f(x)=x11f(x)=x_1-1。四个位于 x1=0x_1=0 或 2 的点都有 yif(xi)=1y_if(x_i)=1,满足等式约束;两个位于 x1=1x_1=-1 或 3 的点有有符号函数间隔 2。

此时 w=1\lVert w\rVert=1,每侧几何间隔为 1,支撑带总宽为 2。两类凸包在水平方向的最近距离就是 2,任何分离带都不能比两凸包最近距离更宽,所以该候选达到上界,是最大间隔解。四个等式点位于支撑超平面,是支持向量;另外两个严格满足约束,不决定当前边界。若删去一个等式点,最优边界未必变化;“支持”描述最优解条件,不等于该样本在因果上最重要。

硬间隔为何需要软化

只要同一特征向量出现相反标签,或两类凸包相交,硬间隔约束就不可行。即使数据形式上可分,一个误录的远端点也可能迫使边界旋转并把间隔压得很窄。软间隔为每个样本引入松弛变量 ξi0\xi_i\ge0

yi(wTxi+b)1ξi,y_i(w^\mathsf Tx_i+b)\ge1-\xi_i,

并求解

minw,b,ξ 12w22+Ci=1nξi.\min_{w,b,\xi}\ \frac12\lVert w\rVert_2^2+C\sum_{i=1}^n\xi_i.

在这个总和损失约定下,C>0C>0 控制违约代价。消去最优松弛变量得到 ξi=max(0,1yif(xi))\xi_i=\max(0,1-y_if(x_i)),即 hinge 损失。也有实现使用平均损失或以 λw2\lambda\lVert w\rVert^2 参数化;不同软件的 CC 不能脱离目标归一化直接比较。

ξi=0\xi_i=0 表示点在正确支撑超平面上或之外;0<ξi<10<\xi_i<1 表示分类正确但进入间隔带;ξi=1\xi_i=1 表示得分为零、恰在决策边界;ξi>1\xi_i>1 表示分类错误。较大 CC 更强地惩罚这些违约,通常倾向减少训练 hinge 损失并允许较小几何间隔;较小 CC 更容忍违约并加强范数偏好。最终选择必须在训练内部验证,不能由“训练错误越少越好”单独决定。

例 2:由有符号得分读取松弛与分类状态

四个样本的有符号得分 mi=yif(xi)m_i=y_if(x_i) 分别是

1.4,0.6,0,0.3.1.4,\quad0.6,\quad0,\quad-0.3.

最小可行松弛为

ξi=max(0,1mi),\xi_i=\max(0,1-m_i),

所以依次得到 0,0.4,1,1.30,0.4,1,1.3,hinge 损失总和为 2.7。第一个点在间隔带外;第二个点预测正确但在带内;第三个点位于边界,分类需由平局规则决定;第四个点得分符号错误。

若这些得分来自满足 KKT 的精确最优解,第一个点严格位于间隔外,所以互补松弛迫使 α1=0\alpha_1=0;后三个点的最小松弛严格为正,因而 (Cαi)ξi=0(C-\alpha_i)\xi_i=0 迫使相应 αi=C\alpha_i=C。实际求解只有近似残差,应结合 αi\alpha_i、约束残差和求解器容差判断,不能用图上像素位置代替条件检查。

从原始问题到对偶问题

对软间隔约束引入乘子 αi0\alpha_i\ge0,对 ξi0\xi_i\ge0 引入乘子 μi0\mu_i\ge0。对 Lagrangian 分别关于 w,b,ξw,b,\xi 求驻点,得到

w=i=1nαiyixi,i=1nαiyi=0,0αiC.w=\sum_{i=1}^n\alpha_i y_i x_i, \qquad \sum_{i=1}^n\alpha_i y_i=0, \qquad 0\le\alpha_i\le C.

代回后得到对偶问题

maxα iαi12i,jαiαjyiyjxiTxj\max_{\alpha}\ \sum_i\alpha_i-\frac12\sum_{i,j} \alpha_i\alpha_jy_iy_jx_i^\mathsf Tx_j

满足上述等式与盒约束。硬间隔对偶没有 αiC\alpha_i\le C 的上界。因为线性核 Gram 矩阵正半定,对偶目标是凹二次函数;可行集是凸集,适当条件下强对偶使原始与对偶最优值相等。

对偶只通过样本内积依赖输入,这是核化入口。原始变量仍有清晰意义:ww 给法向方向,bb 给平移,ξ\xi 量化违约;对偶变量则刻画哪些约束在最优点起作用。选择原始还是对偶算法要看样本数、特征维数、核与求解器,而不是认为对偶天然更快。

KKT 条件识别支持向量

互补松弛给出

αi[yif(xi)1+ξi]=0,(Cαi)ξi=0.\alpha_i\bigl[y_if(x_i)-1+\xi_i\bigr]=0, \qquad (C-\alpha_i)\xi_i=0.

典型非退化情形下,αi=0\alpha_i=0 的点严格位于间隔外,不参与 ww 的展开;0<αi<C0<\alpha_i<C 时有 ξi=0\xi_i=0yif(xi)=1y_if(x_i)=1,点恰在支撑超平面上;αi=C\alpha_i=C 的点可能位于间隔内或被误分。所有 αi>0\alpha_i>0 的训练点称为支持向量。退化数据中,约束等式成立也可能出现零乘子,因此实践中要使用求解器容差,不把浮点数是否精确为零当作数学判断。

若存在 0<αi<C0<\alpha_i<C 的点,可由

b=yijαjyjxjTxib=y_i-\sum_j\alpha_jy_jx_j^\mathsf Tx_i

恢复截距,并对多个自由支持向量的结果取稳定汇总。若没有自由支持向量,截距通常从 KKT 给出的上下界区间确定;随意选一个有界支持向量套等式可能错误。

例 3:两个一维样本的对偶系数

训练点为 (x1,y1)=(1,1)(x_1,y_1)=(-1,-1)(x2,y2)=(1,+1)(x_2,y_2)=(1,+1)。等式约束 α1+α2=0-\alpha_1+\alpha_2=0 使两系数都等于 aa。又因 y1x1=y2x2=1y_1x_1=y_2x_2=1,有

w=2a,w=2a,

对偶目标化为

D(a)=2a12(2a)2=2a2a2.D(a)=2a-\frac12(2a)^2=2a-2a^2.

导数 24a=02-4a=0a=1/2a=1/2。若软间隔参数 C1/2C\ge1/2,盒约束不截断该解。于是 w=1w=1;由任一点的等式间隔得到 b=0b=0。两个点都有 yif(xi)=1y_if(x_i)=1αi>0\alpha_i>0,所以都是支持向量,决策边界为原点。若 C<1/2C<1/2,最优系数会受上界限制,必须连同松弛重新解释,不能继续使用硬间隔结论。

核化只替换内积

把显式特征 ϕ(x)\phi(x) 放入原问题后,对偶中的内积变为核

k(xi,xj)=ϕ(xi),ϕ(xj).k(x_i,x_j)=\langle\phi(x_i),\phi(x_j)\rangle.

预测函数为

f(x)=i:αi>0αiyik(xi,x)+b.f(x)=\sum_{i:\alpha_i>0}\alpha_i y_i k(x_i,x)+b.

正半定核保证对偶保持凹性。核化不是把任意距离塞入公式;无效核可能破坏凸优化结构。训练需要 Gram 矩阵或其分块访问,通常面临二次存储与较高求解成本;预测成本与支持向量数及单次核评估成本成正比。若几乎所有样本都是支持向量,核 SVM 的部署延迟和模型体积会很大。

例 4:乘积特征分开 XOR 形数据

正类为 (1,1),(1,1)(1,1),(-1,-1),负类为 (1,1),(1,1)(1,-1),(-1,1)。在原二维空间中,两类凸包都包含原点,无法由一条直线严格分开。加入特征

ϕ(x)=x1x2\phi(x)=x_1x_2

后,正类映射到 +1+1,负类映射到 1-1,一维边界 ϕ(x)=0\phi(x)=0 即可分离。二次多项式核包含这个交互项,所以其特征空间中的线性 SVM 能表示原空间中的非线性边界 x1x2=0x_1x_2=0

这不说明任意二次核都会在新数据上泛化。若坐标含噪、尺度不同或测试分布旋转,乘积特征的归纳偏置可能失效;核次数和正则参数仍须在不泄漏的验证流程中选择。

特征尺度、C 与核参数共同作用

将某一特征扩大百倍会改变 w\lVert w\rVert 对不同方向的惩罚,也会改变线性内积和 RBF 距离。训练前常用训练集统计量标准化连续特征,并把同一变换应用于验证与测试;二值、计数和物理量是否标准化需结合语义。不能在全数据上先估均值方差,再切分评估。

CC 的最佳范围依赖损失是求和还是平均、样本权重和特征尺度。RBF 核还需要联合选择 γ\gamma:很大 γ\gamma 产生局部边界,很小 γ\gamma 使样本普遍相似。只沿一个超参数单独调节可能误读偏差与方差。类别不平衡时可为正负类设置不同违约代价,但权重应由任务代价和验证协议决定;它不会凭空恢复训练中没有覆盖的少数类模式。

类别重叠并非算法失败,而是特征下不可完全分离的事实。软间隔输出的是得分和类别,不天然给校准概率。若应用需要概率,应在独立验证数据上使用明确校准方法,并把校准器视为额外模型;不能把到超平面的距离直接称为发生概率。

多分类与部署边界

基本 SVM 是二分类器。KK 类的一对其余策略训练 KK 个分类器,预测时比较得分;不同二分类器得分尺度未必天然可比。一对一策略训练 K(K1)/2K(K-1)/2 个分类器,再投票或耦合,训练子问题较小但模型数量增长。也存在直接多分类间隔目标,它们的约束和损失与上述分解不同。报告结果时必须说明策略、平局规则、类权重和校准方式。

线性 SVM 可用原始空间随机或坐标优化扩展到大样本;通用核 SVM 往往受 Gram 存储、训练时间和支持向量预测限制。核近似或线性显式特征可改善规模,却引入近似误差。模型选择应同时比较验证风险、分组性能、支持向量比例、内存和延迟,不能只以训练准确率决定。

常见误区

常见误区

“最大间隔就是让 yif(xi)y_if(x_i) 尽量大。”函数间隔可通过缩放参数任意放大,必须除以 w\lVert w\rVert 或固定规范化约束。

常见误区

“支持向量一定是噪声或异常点。”它们是当前最优解中约束活跃的样本,可能是完全典型的边界代表。

常见误区

“增大 C 总会改善分类。”大 CC 更追求训练违约小,可能对噪声敏感;目标分布性能需要独立验证。

练习:间隔、对偶与边界

练习

从参数缩放不变性出发,推导硬间隔 SVM 的规范化原问题。

查看提示
先说明共同缩放不改变超平面,再固定最小函数间隔为一。
查看解答
几何间隔为 yi(wTxi+b)/wyi(w^{\mathsf T}xi+b)/||w||,共同乘正数时分子分母同倍变化。固定 yi(wTxi+b)1yi(w^{\mathsf T}xi+b)\ge 1 后,最近点距离为 1/||w||,两侧支撑面宽 2/||w||;最大化它等价于最小化 w2/2||w||^{2}/2
练习

正类点 (3,0),(3,2),(4,1)(3,0),(3,2),(4,1) 与负类点 (1,0),(1,2),(0,1)(1,0),(1,2),(0,1) 的最大间隔边界是什么?判断支持向量。

查看提示
代入候选 f(x)=x12f(x)=x1-2,计算每点有符号函数间隔。
查看解答
正类点在 x1=3、4,负类点在 x1=1、0 时,取 w=(1,0)w=(1,0)、b=-2。x1=3 的正点和 x1=1 的负点有间隔一,是支持向量;x1=4 与 0 的点有间隔二,不是支持向量。w=1||w||=1,每侧几何间隔一。
练习

三个样本的 yif(xi)y_if(x_i)1.2,0.3,0.41.2,0.3,-0.4,求最小松弛、状态和 hinge 损失总和。

查看提示
逐个使用 ξ=max(0,1yf)\xi=\max(0,1-yf),再按有符号得分正负判断分类。
查看解答
有符号得分 1.2、0.3、-0.4 对应松弛 0、0.7、1.4。第一点在带外,第二点分类正确但在带内,第三点误分;hinge 损失总和为 2.1。
练习

说明软间隔中 αi=0\alpha_i=00<αi<C0<\alpha_i<Cαi=C\alpha_i=C 三种情形通常对应什么几何状态。

查看提示
分别使用 α\alpha 的盒约束位置和两条互补松弛关系。
查看解答
非退化情况下 α=0\alpha=0 的点在间隔外;0<α<C0<\alpha<Cξ=0\xi=0 且 yf=1,是自由支持向量;α=C\alpha=C 时可能在带内或误分。退化和数值误差会使等式边界更复杂,实践需结合约束残差与容差。
练习

从对偶驻点关系推导核 SVM 的预测式,并解释为什么预测只依赖支持向量。

查看提示
把 w 的样本展开代回得分,观察输入只通过内积出现。
查看解答
w=Σiαiyiϕ(xi)w=\Sigma i \alpha iyi\phi(xi),得 f(x)=Σiαiyiϕ(xi),ϕ(x)+bf(x)=\Sigma i \alpha iyi\langle \phi(xi),\phi(x)\rangle+b;用有效核 k(xi,x) 替代内积即可。只有 αi>0\alpha i>0 的支持向量参与预测,但训练仍需处理 Gram 结构。
练习

为不平衡的三分类大样本任务设计 SVM 选择协议,并列出最终准确率之外的部署检查。

查看提示
把尺度估计、C 与核宽度验证、类别策略及支持向量成本分别列出。
查看解答
只用训练折估计标准化;在训练内部联合选择 C 与核参数;类别不平衡按任务代价设权重;多分类明确一对其余或一对一和平局规则;最终独立测试一次。部署记录支持向量数、核评估延迟、内存和校准需求,若成本过高比较线性或核近似。

知识连接与资源

课程 · 年份待核

Stanford CS229 Course Materials

Andrew Ng

用于核对经典机器学习模型的目标函数、推导和适用前提。

打开官方来源

Stanford CS229 官方材料可用于核对最大间隔、软间隔、Lagrange 对偶与核 SVM 推导。实际求解器的目标归一化、容差和多分类封装仍应以所用实现的明确契约为准。