超平面与两种间隔
二分类标签取 y i ∈ { − 1 , + 1 } y_i\in\{-1,+1\} y i ∈ { − 1 , + 1 } ,线性得分为
f ( x ) = w T x + b , f(x)=w^\mathsf Tx+b, f ( x ) = w T x + b ,
预测由 sign f ( x ) \operatorname{sign}f(x) sign f ( x ) 给出,决策超平面是 f ( x ) = 0 f(x)=0 f ( x ) = 0 。样本的函数间隔为 y i f ( x i ) y_i f(x_i) y i f ( x i ) :它为正表示分类正确,数值越大通常离边界越远。但把 ( w , b ) (w,b) ( w , b ) 同时乘正数 a a a 不改变超平面与预测,却把函数间隔也乘 a a a ,所以不能直接靠放大参数宣称边界更好。
点到超平面的有符号几何距离为
f ( x ) ∥ w ∥ 2 , \frac{f(x)}{\lVert w\rVert_2}, ∥ w ∥ 2 f ( x ) ,
样本几何间隔为 y i f ( x i ) / ∥ w ∥ 2 y_if(x_i)/\lVert w\rVert_2 y i f ( x i ) / ∥ w ∥ 2 ,它对参数的共同正缩放不变。对可分数据,可以选取规范化尺度,使最小函数间隔等于 1,即
y i ( w T x i + b ) ≥ 1. y_i(w^\mathsf Tx_i+b)\ge1. y i ( w T x i + b ) ≥ 1.
这时离边界最近样本的距离至少为 1 / ∥ w ∥ 1/\lVert w\rVert 1/ ∥ w ∥ ,两条支撑超平面 f = + 1 f=+1 f = + 1 与 f = − 1 f=-1 f = − 1 的距离为 2 / ∥ w ∥ 2/\lVert w\rVert 2/ ∥ w ∥ 。最大化间隔等价于最小化参数范数平方,得到硬间隔原问题
min w , b 1 2 ∥ w ∥ 2 2 subject to y i ( w T x i + b ) ≥ 1 ∀ i . \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. w , b min 2 1 ∥ w ∥ 2 2 subject to y i ( w T x i + b ) ≥ 1 ∀ i .
因子二分之一简化求导,不改变最优点。截距通常不惩罚,因此平移边界不会直接增加目标;若实现把截距也放入惩罚,优化问题和几何解释会改变。
例 1:二维数据逐步求最大间隔与支持向量
正类点为
( 2 , 0 ) , ( 2 , 2 ) , ( 3 , 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). ( 0 , 0 ) , ( 0 , 2 ) , ( − 1 , 1 ) . 两类最近的竖直边分别在 x 1 = 2 x_1=2 x 1 = 2 与 x 1 = 0 x_1=0 x 1 = 0 ,中间超平面应为 x 1 = 1 x_1=1 x 1 = 1 。取 w = ( 1 , 0 ) w=(1,0) w = ( 1 , 0 ) 、b = − 1 b=-1 b = − 1 ,得 f ( x ) = x 1 − 1 f(x)=x_1-1 f ( x ) = x 1 − 1 。四个位于 x 1 = 0 x_1=0 x 1 = 0 或 2 的点都有
y i f ( x i ) = 1 y_if(x_i)=1 y i f ( x i ) = 1 ,满足等式约束;两个位于 x 1 = − 1 x_1=-1 x 1 = − 1 或 3 的点有有符号函数间隔 2。
此时 ∥ w ∥ = 1 \lVert w\rVert=1 ∥ w ∥ = 1 ,每侧几何间隔为 1,支撑带总宽为 2。两类凸包在水平方向的最近距离就是 2,任何分离带都不能比两凸包最近距离更宽,所以该候选达到上界,是最大间隔解。四个等式点位于支撑超平面,是支持向量;另外两个严格满足约束,不决定当前边界。若删去一个等式点,最优边界未必变化;“支持”描述最优解条件,不等于该样本在因果上最重要。
硬间隔为何需要软化
只要同一特征向量出现相反标签,或两类凸包相交,硬间隔约束就不可行。即使数据形式上可分,一个误录的远端点也可能迫使边界旋转并把间隔压得很窄。软间隔为每个样本引入松弛变量 ξ i ≥ 0 \xi_i\ge0 ξ i ≥ 0 :
y i ( w T x i + b ) ≥ 1 − ξ i , y_i(w^\mathsf Tx_i+b)\ge1-\xi_i, y i ( w T x i + b ) ≥ 1 − ξ i ,
并求解
min w , b , ξ 1 2 ∥ w ∥ 2 2 + C ∑ i = 1 n ξ i . \min_{w,b,\xi}\
\frac12\lVert w\rVert_2^2+C\sum_{i=1}^n\xi_i. w , b , ξ min 2 1 ∥ w ∥ 2 2 + C i = 1 ∑ n ξ i .
在这个总和损失约定下,C > 0 C>0 C > 0 控制违约代价。消去最优松弛变量得到 ξ i = max ( 0 , 1 − y i f ( x i ) ) \xi_i=\max(0,1-y_if(x_i)) ξ i = max ( 0 , 1 − y i f ( x i )) ,即 hinge 损失。也有实现使用平均损失或以 λ ∥ w ∥ 2 \lambda\lVert w\rVert^2 λ ∥ w ∥ 2 参数化;不同软件的 C C C 不能脱离目标归一化直接比较。
ξ i = 0 \xi_i=0 ξ i = 0 表示点在正确支撑超平面上或之外;0 < ξ i < 1 0<\xi_i<1 0 < ξ i < 1 表示分类正确但进入间隔带;ξ i = 1 \xi_i=1 ξ i = 1 表示得分为零、恰在决策边界;ξ i > 1 \xi_i>1 ξ i > 1 表示分类错误。较大 C C C 更强地惩罚这些违约,通常倾向减少训练 hinge 损失并允许较小几何间隔;较小 C C C 更容忍违约并加强范数偏好。最终选择必须在训练内部验证,不能由“训练错误越少越好”单独决定。
例 2:由有符号得分读取松弛与分类状态
四个样本的有符号得分 m i = y i f ( x i ) m_i=y_if(x_i) m i = y i f ( x i ) 分别是
1.4 , 0.6 , 0 , − 0.3. 1.4,\quad0.6,\quad0,\quad-0.3. 1.4 , 0.6 , 0 , − 0.3. 最小可行松弛为
ξ i = max ( 0 , 1 − m i ) , \xi_i=\max(0,1-m_i), ξ i = max ( 0 , 1 − m i ) , 所以依次得到 0 , 0.4 , 1 , 1.3 0,0.4,1,1.3 0 , 0.4 , 1 , 1.3 ,hinge 损失总和为 2.7。第一个点在间隔带外;第二个点预测正确但在带内;第三个点位于边界,分类需由平局规则决定;第四个点得分符号错误。
若这些得分来自满足 KKT 的精确最优解,第一个点严格位于间隔外,所以互补松弛迫使 α 1 = 0 \alpha_1=0 α 1 = 0 ;后三个点的最小松弛严格为正,因而 ( C − α i ) ξ i = 0 (C-\alpha_i)\xi_i=0 ( C − α i ) ξ i = 0 迫使相应 α i = C \alpha_i=C α i = C 。实际求解只有近似残差,应结合 α i \alpha_i α i 、约束残差和求解器容差判断,不能用图上像素位置代替条件检查。
从原始问题到对偶问题
对软间隔约束引入乘子 α i ≥ 0 \alpha_i\ge0 α i ≥ 0 ,对 ξ i ≥ 0 \xi_i\ge0 ξ i ≥ 0 引入乘子 μ i ≥ 0 \mu_i\ge0 μ i ≥ 0 。对 Lagrangian 分别关于 w , b , ξ w,b,\xi w , b , ξ 求驻点,得到
w = ∑ i = 1 n α i y i x i , ∑ i = 1 n α i y i = 0 , 0 ≤ α i ≤ C . 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. w = i = 1 ∑ n α i y i x i , i = 1 ∑ n α i y i = 0 , 0 ≤ α i ≤ C .
代回后得到对偶问题
max α ∑ i α i − 1 2 ∑ i , j α i α j y i y j x i T x j \max_{\alpha}\
\sum_i\alpha_i-\frac12\sum_{i,j}
\alpha_i\alpha_jy_iy_jx_i^\mathsf Tx_j α max i ∑ α i − 2 1 i , j ∑ α i α j y i y j x i T x j
满足上述等式与盒约束。硬间隔对偶没有 α i ≤ C \alpha_i\le C α i ≤ C 的上界。因为线性核 Gram 矩阵正半定,对偶目标是凹二次函数;可行集是凸集,适当条件下强对偶使原始与对偶最优值相等。
对偶只通过样本内积依赖输入,这是核化入口。原始变量仍有清晰意义:w w w 给法向方向,b b b 给平移,ξ \xi ξ 量化违约;对偶变量则刻画哪些约束在最优点起作用。选择原始还是对偶算法要看样本数、特征维数、核与求解器,而不是认为对偶天然更快。
KKT 条件识别支持向量
互补松弛给出
α i [ y i f ( x i ) − 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 [ y i f ( x i ) − 1 + ξ i ] = 0 , ( C − α i ) ξ i = 0.
典型非退化情形下,α i = 0 \alpha_i=0 α i = 0 的点严格位于间隔外,不参与 w w w 的展开;0 < α i < C 0<\alpha_i<C 0 < α i < C 时有 ξ i = 0 \xi_i=0 ξ i = 0 且 y i f ( x i ) = 1 y_if(x_i)=1 y i f ( x i ) = 1 ,点恰在支撑超平面上;α i = C \alpha_i=C α i = C 的点可能位于间隔内或被误分。所有 α i > 0 \alpha_i>0 α i > 0 的训练点称为支持向量。退化数据中,约束等式成立也可能出现零乘子,因此实践中要使用求解器容差,不把浮点数是否精确为零当作数学判断。
若存在 0 < α i < C 0<\alpha_i<C 0 < α i < C 的点,可由
b = y i − ∑ j α j y j x j T x i b=y_i-\sum_j\alpha_jy_jx_j^\mathsf Tx_i b = y i − j ∑ α j y j x j T x i
恢复截距,并对多个自由支持向量的结果取稳定汇总。若没有自由支持向量,截距通常从 KKT 给出的上下界区间确定;随意选一个有界支持向量套等式可能错误。
例 3:两个一维样本的对偶系数
训练点为 ( x 1 , y 1 ) = ( − 1 , − 1 ) (x_1,y_1)=(-1,-1) ( x 1 , y 1 ) = ( − 1 , − 1 ) 与 ( x 2 , y 2 ) = ( 1 , + 1 ) (x_2,y_2)=(1,+1) ( x 2 , y 2 ) = ( 1 , + 1 ) 。等式约束
− α 1 + α 2 = 0 -\alpha_1+\alpha_2=0 − α 1 + α 2 = 0 使两系数都等于 a a a 。又因 y 1 x 1 = y 2 x 2 = 1 y_1x_1=y_2x_2=1 y 1 x 1 = y 2 x 2 = 1 ,有
对偶目标化为
D ( a ) = 2 a − 1 2 ( 2 a ) 2 = 2 a − 2 a 2 . D(a)=2a-\frac12(2a)^2=2a-2a^2. D ( a ) = 2 a − 2 1 ( 2 a ) 2 = 2 a − 2 a 2 . 导数 2 − 4 a = 0 2-4a=0 2 − 4 a = 0 给 a = 1 / 2 a=1/2 a = 1/2 。若软间隔参数 C ≥ 1 / 2 C\ge1/2 C ≥ 1/2 ,盒约束不截断该解。于是 w = 1 w=1 w = 1 ;由任一点的等式间隔得到 b = 0 b=0 b = 0 。两个点都有 y i f ( x i ) = 1 y_if(x_i)=1 y i f ( x i ) = 1 且 α i > 0 \alpha_i>0 α i > 0 ,所以都是支持向量,决策边界为原点。若 C < 1 / 2 C<1/2 C < 1/2 ,最优系数会受上界限制,必须连同松弛重新解释,不能继续使用硬间隔结论。
核化只替换内积
把显式特征 ϕ ( x ) \phi(x) ϕ ( x ) 放入原问题后,对偶中的内积变为核
k ( x i , x j ) = ⟨ ϕ ( x i ) , ϕ ( x j ) ⟩ . k(x_i,x_j)=\langle\phi(x_i),\phi(x_j)\rangle. k ( x i , x j ) = ⟨ ϕ ( x i ) , ϕ ( x j )⟩ .
预测函数为
f ( x ) = ∑ i : α i > 0 α i y i k ( x i , x ) + b . f(x)=\sum_{i:\alpha_i>0}\alpha_i y_i k(x_i,x)+b. f ( x ) = i : α i > 0 ∑ α 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 ) (1,-1),(-1,1) ( 1 , − 1 ) , ( − 1 , 1 ) 。在原二维空间中,两类凸包都包含原点,无法由一条直线严格分开。加入特征
ϕ ( x ) = x 1 x 2 \phi(x)=x_1x_2 ϕ ( x ) = x 1 x 2 后,正类映射到 + 1 +1 + 1 ,负类映射到 − 1 -1 − 1 ,一维边界 ϕ ( x ) = 0 \phi(x)=0 ϕ ( x ) = 0 即可分离。二次多项式核包含这个交互项,所以其特征空间中的线性 SVM 能表示原空间中的非线性边界 x 1 x 2 = 0 x_1x_2=0 x 1 x 2 = 0 。
这不说明任意二次核都会在新数据上泛化。若坐标含噪、尺度不同或测试分布旋转,乘积特征的归纳偏置可能失效;核次数和正则参数仍须在不泄漏的验证流程中选择。
特征尺度、C 与核参数共同作用
将某一特征扩大百倍会改变 ∥ w ∥ \lVert w\rVert ∥ w ∥ 对不同方向的惩罚,也会改变线性内积和 RBF 距离。训练前常用训练集统计量标准化连续特征,并把同一变换应用于验证与测试;二值、计数和物理量是否标准化需结合语义。不能在全数据上先估均值方差,再切分评估。
C C C 的最佳范围依赖损失是求和还是平均、样本权重和特征尺度。RBF 核还需要联合选择 γ \gamma γ :很大 γ \gamma γ 产生局部边界,很小 γ \gamma γ 使样本普遍相似。只沿一个超参数单独调节可能误读偏差与方差。类别不平衡时可为正负类设置不同违约代价,但权重应由任务代价和验证协议决定;它不会凭空恢复训练中没有覆盖的少数类模式。
类别重叠并非算法失败,而是特征下不可完全分离的事实。软间隔输出的是得分和类别,不天然给校准概率。若应用需要概率,应在独立验证数据上使用明确校准方法,并把校准器视为额外模型;不能把到超平面的距离直接称为发生概率。
多分类与部署边界
基本 SVM 是二分类器。K K K 类的一对其余策略训练 K K K 个分类器,预测时比较得分;不同二分类器得分尺度未必天然可比。一对一策略训练 K ( K − 1 ) / 2 K(K-1)/2 K ( K − 1 ) /2 个分类器,再投票或耦合,训练子问题较小但模型数量增长。也存在直接多分类间隔目标,它们的约束和损失与上述分解不同。报告结果时必须说明策略、平局规则、类权重和校准方式。
线性 SVM 可用原始空间随机或坐标优化扩展到大样本;通用核 SVM 往往受 Gram 存储、训练时间和支持向量预测限制。核近似或线性显式特征可改善规模,却引入近似误差。模型选择应同时比较验证风险、分组性能、支持向量比例、内存和延迟,不能只以训练准确率决定。
常见误区
常见误区
“最大间隔就是让 y i f ( x i ) y_if(x_i) y i f ( x i ) 尽量大。”函数间隔可通过缩放参数任意放大,必须除以 ∥ w ∥ \lVert w\rVert ∥ w ∥ 或固定规范化约束。
常见误区
“支持向量一定是噪声或异常点。”它们是当前最优解中约束活跃的样本,可能是完全典型的边界代表。
常见误区
“增大 C 总会改善分类。”大 C C C 更追求训练违约小,可能对噪声敏感;目标分布性能需要独立验证。
练习:间隔、对偶与边界
练习 标记完成
所属知识 几何间隔
难度 3/5 从参数缩放不变性出发,推导硬间隔 SVM 的规范化原问题。
查看提示 先说明共同缩放不改变超平面,再固定最小函数间隔为一。
查看解答 几何间隔为
y i ( w T x i + b ) / ∣ ∣ w ∣ ∣ yi(w^{\mathsf T}xi+b)/||w|| y i ( w T x i + b ) /∣∣ w ∣∣ ,共同乘正数时分子分母同倍变化。固定
y i ( w T x i + b ) ≥ 1 yi(w^{\mathsf T}xi+b)\ge 1 y i ( w T x i + b ) ≥ 1 后,最近点距离为 1/||w||,两侧支撑面宽 2/||w||;最大化它等价于最小化
∣ ∣ w ∣ ∣ 2 / 2 ||w||^{2}/2 ∣∣ w ∣ ∣ 2 /2 。
练习 标记完成
所属知识 二维支持向量
难度 4/5 正类点 ( 3 , 0 ) , ( 3 , 2 ) , ( 4 , 1 ) (3,0),(3,2),(4,1) ( 3 , 0 ) , ( 3 , 2 ) , ( 4 , 1 ) 与负类点 ( 1 , 0 ) , ( 1 , 2 ) , ( 0 , 1 ) (1,0),(1,2),(0,1) ( 1 , 0 ) , ( 1 , 2 ) , ( 0 , 1 ) 的最大间隔边界是什么?判断支持向量。
查看提示 代入候选
f ( x ) = x 1 − 2 f(x)=x1-2 f ( x ) = x 1 − 2 ,计算每点有符号函数间隔。
查看解答 正类点在 x1=3、4,负类点在 x1=1、0 时,取
w = ( 1 , 0 ) w=(1,0) w = ( 1 , 0 ) 、b=-2。x1=3 的正点和 x1=1 的负点有间隔一,是支持向量;x1=4 与 0 的点有间隔二,不是支持向量。
∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣ w ∣∣ = 1 ,每侧几何间隔一。
练习 标记完成
所属知识 松弛变量
难度 3/5 三个样本的 y i f ( x i ) y_if(x_i) y i f ( x i ) 为 1.2 , 0.3 , − 0.4 1.2,0.3,-0.4 1.2 , 0.3 , − 0.4 ,求最小松弛、状态和 hinge 损失总和。
查看提示 逐个使用
ξ = max ( 0 , 1 − y f ) \xi=\max(0,1-yf) ξ = max ( 0 , 1 − y f ) ,再按有符号得分正负判断分类。
查看解答 有符号得分 1.2、0.3、-0.4 对应松弛 0、0.7、1.4。第一点在带外,第二点分类正确但在带内,第三点误分;hinge 损失总和为 2.1。
练习 标记完成
所属知识 KKT 判断
难度 4/5 说明软间隔中 α i = 0 \alpha_i=0 α i = 0 、0 < α i < C 0<\alpha_i<C 0 < α i < C 与 α i = C \alpha_i=C α i = C 三种情形通常对应什么几何状态。
查看提示 分别使用
α \alpha α 的盒约束位置和两条互补松弛关系。
查看解答 非退化情况下
α = 0 \alpha=0 α = 0 的点在间隔外;
0 < α < C 0<\alpha<C 0 < α < C 时
ξ = 0 \xi=0 ξ = 0 且 yf=1,是自由支持向量;
α = C \alpha=C α = C 时可能在带内或误分。退化和数值误差会使等式边界更复杂,实践需结合约束残差与容差。
练习 标记完成
所属知识 核化
难度 3/5 从对偶驻点关系推导核 SVM 的预测式,并解释为什么预测只依赖支持向量。
查看提示 把 w 的样本展开代回得分,观察输入只通过内积出现。
查看解答 由
w = Σ i α i y i ϕ ( x i ) w=\Sigma i \alpha iyi\phi(xi) w = Σ i α i y i ϕ ( x i ) ,得
f ( x ) = Σ i α i y i ⟨ ϕ ( x i ) , ϕ ( x ) ⟩ + b f(x)=\Sigma i \alpha iyi\langle \phi(xi),\phi(x)\rangle+b f ( x ) = Σ i α i y i ⟨ ϕ ( x i ) , ϕ ( x )⟩ + b ;用有效核 k(xi,x) 替代内积即可。只有
α i > 0 \alpha i>0 α i > 0 的支持向量参与预测,但训练仍需处理 Gram 结构。
练习 标记完成
所属知识 选择与部署
难度 4/5 为不平衡的三分类大样本任务设计 SVM 选择协议,并列出最终准确率之外的部署检查。
查看提示 把尺度估计、C 与核宽度验证、类别策略及支持向量成本分别列出。
查看解答 只用训练折估计标准化;在训练内部联合选择 C 与核参数;类别不平衡按任务代价设权重;多分类明确一对其余或一对一和平局规则;最终独立测试一次。部署记录支持向量数、核评估延迟、内存和校准需求,若成本过高比较线性或核近似。
知识连接与资源
课程 · 年份待核 Stanford CS229 Course Materials Andrew Ng
用于核对经典机器学习模型的目标函数、推导和适用前提。
打开官方来源
Stanford CS229 官方材料可用于核对最大间隔、软间隔、Lagrange 对偶与核 SVM 推导。实际求解器的目标归一化、容差和多分类封装仍应以所用实现的明确契约为准。