支持向量机
线性支持向量机(SVM)在可分数据中寻找最大间隔:两类之间最宽的空走廊,决策线位于中间。硬间隔解中,非零对偶系数的点是支持向量,位于走廊两壁。软间隔允许点在走廊内,甚至在错侧,这些点也可成为支持向量。
零训练错误本身不能选出唯一边界。本课十二点有很多分隔线都全对,最大间隔再比较它们的净空。这个偏好有几何依据,但不保证对未来数据最好。
工作原理
固定方向后,两类最近的投影决定能放入的空带。比较各方向的宽度,选择最宽者。把参数规范化,让两壁为:
w·x+b=+1 与 w·x+b=−1
两壁垂直距离为 2/‖w‖。硬间隔问题最小化 ½‖w‖²,约束 yᵢ(w·xᵢ+b)≥1,其中标签为 ±1。这是凸二次规划。对偶系数满足:
αᵢ≥0,w=Σαᵢyᵢxᵢ,Σαᵢyᵢ=0
互补条件为 αᵢ[yᵢ(w·xᵢ+b)−1]=0。严格在壁外的点 α=0,不贡献权重。壁上点允许 α 非零,但冗余约束也可能 α=0,不能仅凭等号判定一定是非零支持向量。
逐步演示
默认十二点:A 六点在左上,B 六点在右下,配置 C=0.1。开头对可分数据先用 C_HARD=1000 展示硬间隔等价解,最后才使用配置的 0.1。 因此前半段的 α 不受 0.1 上限约束。
- 五条分隔线。 都是零训练错误,说明仅准确率不足以选择。
- 比较方向。 30° 直线的最大空带宽 1.27,60.25° 为 2.11,列表和柱形保留二者。
- 最大宽度。 45° 得 2.83,
w=(−0.50,0.50),b=0,边界y=x。2/√0.5≈2.83是两壁总宽,每侧约 1.415。右侧曲线展示约 18.5°–80.5° 可分方向的宽度,峰值在 45°。 - 三个支持点。 A
(−4,−2)、A(1,3)、B(2,0)都有y(w·x+b)=1.00,最近非支持点为 1.50。它们的 α 分别是0.05,0.20,0.25。验证0.05+0.20−0.25=0,以及:
0.05(−4,−2)+0.20(1,3)−0.25(2,0)=(−0.50,0.50)
其余九点 α=0,不进入权重和。
- 移动非支持点。 B
(5,0)移 6.58 到(0.35,−4.65),仍不成为约束,重新求解后的 w、b、三支持点与宽 2.83 不变。不是说任何移动都无效;跨近壁后就可能改变解。 - 移动支持点。 把 B
(2,0)从原壁向外移 2.00,重算后宽度增至 3.54,B(0,−3)接替支持角色。较小的移动反而改变边界,原因是约束是否活动。 - 软间隔代价。 两点归位,使用配置 C=0.1。走廊宽 3.61,倾到 47.15°。A
(1,3)与 B(2,0)在走廊内但仍在正确侧;模型接受两项间隔违反,换取更小范数。
软间隔与 C
重叠或错标可能让硬间隔约束无解。软间隔最小化:
½‖w‖² + C Σ max(0,1−yᵢ(w·xᵢ+b))
C 是铰链损失与范数惩罚的相对价格,不是学习率。点刚进走廊只付很小的铰链损失,深入走廊或跑到错侧会付更多;不是每个违规点统一罚 C。
较大 C 更重视减少违反,较小 C 允许以违反换宽带。可分数据上,当 C 已足够大,继续调大不会改变硬间隔等价解。本例约高于 0.3 都给 2.83,“严格 C=100”展示这种不变。
“间隙中一点”加入 B (−1,0)。数据仍可分,硬间隔却缩成 0.71,新增点占三个支持点之一。C=0.3 时恢复 2.83,代价是恰好错分一个训练点。容忍一个错误换四倍总宽是否合理,须用验证数据判断。
间隔的用途与成本
宽走廊给附近扰动留出空间,但泛化还依赖数据分布、噪声和模型假设,不能由最大间隔推出必然正确。远离活动约束且仍满足原间隔的新增点,可以不改变已有解;数据价值也不只由是否成为支持向量决定。
线性模型可直接保存合成后的 w、b,单点预测 O(d),不必保存所有支持点。核 SVM 通常对每个支持向量做一次核计算,支持数影响存储与延迟。密集核矩阵或通用二次规划可能需要关于样本数的二次空间和二次到三次级成本;专用线性求解器可扩展得更大,不能把这份成本当所有 SVM 的定律。
特征单位决定几何,应按任务做尺度处理并在训练折拟合。对 C 用对数网格验证;面板的 0.03–100 也按对数设置。核模型还要验证核参数。支持向量很多意味着预测成本可能较高,不自动证明参数错误。
边界情况
- 点在壁上时可有非零 α,但等号不是充分条件,冗余壁点仍可能 α=0。支持角色依赖当前数据和参数。
- 不可分时硬间隔不可行。软间隔在有限输入与正常 C 条件下允许违反。编辑器把 B 拖进 A 区后会省去空走廊章节,不假装仍有空带。
- 当所有支持点 α 都在 C 上限,没有
0<α<C的自由支持点时,不能用单个自由支持点直接求 b;KKT 可能给 b 一个允许区间,区间也可能退化为一点。预设避开了难展示的情况。 - 尺度不一致会改变间隔度量。标准化是常见选择,不是所有有物理意义坐标都必须相同处理。
- 重复点可使对偶系数非唯一,但一般 SVM 不因此无法求解。面板为保持编辑与演示清楚,拒绝拖到已占坐标。
常见错误
- 认为更多远处点必然改变边界。若仍为非活动约束,它们可保持 α=0;但真实数据价值须按任务判断。
- 把 C 当步长。它改变优化目标,迭代步长是求解器问题。
- 按违规数量统一罚款。C 乘的是每点铰链损失大小。
- 以为走廊总为空。软间隔两壁仍是 ±1,但允许内部点,宽度不再表示所有点的最小净空。
- 把支持向量当最典型或最有信息的样本。它们定义当前约束,移除后其他点可能接替。
- 认为最大间隔必然最优于任务。噪声和重叠数据应验证 C 与模型选择。
简化范围
本课用十二或十三个点、二维、线性软间隔模型,SMO 实际求解对偶,求解迭代留在后台。开头对可分例用大 C 比较空带。没有展示核函数、特征缩放、多类 one-vs-rest 等方案与交叉验证。核方法把内积换成满足相应条件的核,可在原空间产生曲线边界,但仍须选择核和参数,并承担不同预测成本。