SVM 的决策函数和间隔怎么理解?
简化版
SVM decision_function 是有符号判别分数。线性情形为 wᵀx+b,除以 ‖w‖ 才是原输入坐标中的有符号几何距离。核 SVM 的分数对应隐式特征空间超平面;理论上可用对偶系数与核计算该空间的 ‖w‖,但即使归一化也不是原输入空间的欧氏距离。任何版本的 margin 都不是概率,跨不同缩放、核和超参数也不宜直接比较尺度。
详细版
-
二分类阈值通常为 0。
-
score 大不等于已校准高概率。
-
线性模型的输入空间几何距离为
score/‖w‖;核模型只能谈隐式特征空间距离。 -
多分类 OVR/OVO 输出形状与含义依实现。
-
特征缩放会改变 margin 数值。
完整版教学
一、分数是边界函数值,不天然是概率
训练约束把规范化后的支持向量放在函数间隔 ±1 附近,但 w 的尺度决定函数值与几何距离换算。
核模型在特征空间计算同类判别函数,用户通常只拿到 score,无法把它当原输入欧氏距离。
在线性 SVM 中,函数值 f(x)=w^Tx+b 除以 ||w|| 才是到超平面的有符号几何距离;核 SVM 通常无法在原输入空间这样解释。若业务需要 0~1 概率,应另用独立校准集拟合 Platt Scaling 等映射,不能直接对 Score 做截断。
二、底层机制与公式
f(x)=w^T x+b
pred=sign(f(x))
geometric_distance=f(x)/||w||
三、带数字的推演
w=[3,4]、b=-5、x=[1,1],f=2,||w||=5,几何距离为 0.4。
直接说“距离是2”混淆了函数间隔与几何距离。
四、方案对比
| 方案/对象 | 核心特点 | 代价或边界 |
|---|---|---|
| decision score | 保留排序与正负 | 无概率语义 |
| 几何距离 | 线性时是输入空间距离 | 核模型归一化后仍是特征空间距离 |
| 校准概率 | 可做风险阈值 | 需要独立校准 |
五、执行流程
同 scaler 变换输入 -> 计算 score -> 0 阈值或业务阈值
-> 需要概率则校准 -> 监控 score 分布 -> 多分类核对列顺序
六、边界条件与工程代价
不同 C、核或缩放训练的 score 尺度不同,不能固定一个非零阈值跨模型复用。
某些 OVO 实现返回每对类别分数,另一些返回聚合结果;需查 shape 和 classes_。
记忆钩子:decision_function 先看符号判侧,再看绝对值排远近;要说几何距离除
||w||,要说概率必须校准。
七、常见误区与追问
-
误区:decision score=0.8 表示 80% 概率。 它没有这种频率含义。
-
追问:正负号表示什么? 相对于超平面的类别侧。
-
误区:绝对值就是几何距离。 线性情形还需除以 ||w||。
-
追问:为何缩放会改变 score? 特征坐标和学到的 w 都会变化。
-
追问:如何转概率? 在独立数据上做 Platt 或 isotonic 校准。
八、加强记忆
加强记忆分三层:决策函数的符号决定超平面一侧,绝对值可用于同一模型内排序;线性模型除以 ‖w‖ 后得到输入坐标中的几何距离。核模型也可归一化为隐式特征空间距离,但不能解释为原输入空间欧氏距离。若业务需要发生概率,还必须在独立数据上拟合校准器。
不同缩放、核和超参数训练出的分数尺度不可直接横比,多分类时还要先确认实现返回的是 OVR 还是 OVO 结果。