形式陈述
给定 y i ∈ { − 1 , + 1 } 和特征映射 ϕ ( x i ) ,硬间隔 SVM 的原始问题固定为
min w , b 1 2 ‖ w ‖ 2 subject to y i ( ⟨ w , ϕ ( x i ) ⟩ + b ) ≥ 1 ( i = 1 , … , m ) . 约束把最小函数间隔规范为 1;与线性分类器的几何间隔 公理库 线性分类器与几何间隔 Linear classifier · Geometric margin 用仿射超平面分类,并以缩放不变的几何间隔衡量分离余量。 结合,最小几何间隔为 1 / ‖ w ‖ ,故最小化 1 2 ‖ w ‖ 2 等价于在这套定标下最大化间隔。b 不惩罚,因而不能未经说明把它并入 w 的范数。
问题要求样本在该特征空间严格可分。其最优权向量可写成
w ∗ = ∑ i α i y i ϕ ( x i ) , α i ≥ 0 , 于是借助核技巧 公理库 核技巧 kernel trick · kernelization by inner products · 核替换 将只依赖特征内积的算法改写为 Gram 矩阵计算,从而隐式使用特征空间。 ,决策函数为
h ( x ) = sign ( ∑ i α i y i k ( x i , x ) + b ∗ ) . α i > 0 的训练点称为支持向量;互补松弛使它们位于 y i f ( x i ) = 1 的 margin 边界。核技巧是计算工具,不是硬间隔 SVM 的定义前置:取 ϕ ( x ) = x 就得到普通线性 SVM。
直觉
可分超平面通常不止一个。硬间隔 SVM 选取离两类最近训练点都尽量远的那一个;把参数缩放到最近点恰好满足函数间隔 1 后,分类带总宽度是 2 / ‖ w ‖ 。只有碰到两侧边界的点能阻止带继续变宽,所以最终解由少量支持向量钉住。
与软间隔 SVM 公理库 软间隔支持向量机 soft-margin support vector machine · soft-margin SVM · C-SVM 用 slack 与参数 C 对不可分样本的 margin 违反定价,同时保持范数正则化。 的差异不是参数大小,而是可行集:硬间隔禁止任何 margin 违反,软间隔为违反量定价。软版本不是硬版本的严格特殊情形;在可分数据和某些足够大的 C 下两者可能碰巧给同一解,但不可据此建立类型包含关系。
例子与边界
在一维取训练点
( − 2 , − 1 ) , ( − 1 , − 1 ) , ( 1 , + 1 ) , ( 2 , + 1 ) , 使用线性核。候选 w = 1 , b = 0 给函数 margins 2 , 1 , 1 , 2 ,全部可行,目标为 1 / 2 。最近的 x = − 1 与 x = 1 把超平面固定在 0;它们到边界的几何距离均为 1,两个外侧点不是支持向量。
只看两支持点,对偶约束要求其乘子相等为 a ,目标化为
2 a − 2 a 2 , a ≥ 0. 最大值在 a = 1 / 2 ,并复原
w = 1 2 ( − 1 ) ( − 1 ) + 1 2 ( + 1 ) ( + 1 ) = 1. 因此可直接核对原始目标 1 / 2 与对偶值 1 − 1 / 2 = 1 / 2 相同,常数 1 2 、标签符号和 bias 约束彼此一致。
若同一点 x 同时带 + 1 与 − 1 标签,约束分别要求 f ( x ) ≥ 1 与 f ( x ) ≤ − 1 ,原始问题不可行。这不是优化器故障,必须转用允许 slack 的模型。即便样本可分,极小间隔也可能使解对测量扰动敏感;硬间隔没有为噪声设置价格。
推论与应用
核化后,分类边界在输入空间可非线性,但在 ϕ 空间仍是仿射超平面。更换核同时改变可分性和范数几何;把核乘常数会重标特征范数,不能期待同一组正则参数仍有相同含义。
只有支持向量出现在决策和 bias 的 KKT 条件中,因此预测可具有稀疏性;最坏情况下所有训练点都可能成为支持向量。硬间隔的可分假设是首要边界,不能用训练准确率高来代替正式检查。
可行集非空时,1 2 ‖ w ‖ 2 对 w 严格凸,因此最优 w 唯一。若训练集中正负两类都出现,最优性还迫使两类最近投影之差恰为 2:差若更大便可缩小 w ,所以可行 bias 区间的两个端点重合,b 也唯一。只有样本全属一类等退化情形,未惩罚的 b 才可在区间或射线上变化;即使 ( w , b ) 唯一,奇异 Gram 矩阵下的支持向量系数仍可能不唯一。实现还需规定决策值恰为零时的 tie,数学优化本身只返回实值分数。
原始—对偶间隙可作为数值最优性的证书,但它不检验数据是否来自同一分布,也不代替泛化界。预测成本与支持向量数成正比;若支持向量接近全部样本,核化模型虽仍正确,却可能不适合低延迟部署。
参考资料
Bernhard Boser, Isabelle Guyon, and Vladimir Vapnik, “A Training Algorithm for Optimal Margin Classifiers,” Proceedings of COLT , 1992, pp. 144–152, doi:10.1145/130385.130401 .
Corinna Cortes and Vladimir Vapnik, “Support-Vector Networks,” Machine Learning 20, 1995, pp. 273–297, doi:10.1007/BF00994018 .
Bernhard Schölkopf and Alexander J. Smola, Learning with Kernels , MIT Press, 2002, Chs. 7 and 12.