核技巧与最大间隔
支持向量机(SVM)分类
在核映射后的空间里寻找把档位隔得最开的超平面,决策只依赖落在间隔边缘上的支持向量,而不是全部邻居。
这篇能回答什么
支持向量机分类回答的是:「在标准化后的面积、单价等坐标里,能不能找到一块(或经核映射后的一块)间隔,把三档住房分开,并且让间隔尽量宽」。宽间隔意味着边界附近的扰动不轻易改判。真正起作用的是支持向量——那些贴在间隔边缘或跑进间隔内侧的点;其余点即使删掉,超平面也可以不变。
适合:有效行是中小规模(本教学为 236 套),特征是定量且已标准化,关心的是边界而不是「最近五套谁多」。三类问题在产品里拆成三套一对多(one-vs-rest)软间隔,再按决策函数最大的一侧给标签。教学占用里 B 只有 35 套,正好用来讨论少数类在间隔几何里的位置。
什么时候不该用
特征以城市、区域为主、没有可靠的内积时,核距离也编不出来,应改CatBoost分类。行数上万且只要一条便宜基线时,ExtraTrees分类更合适——核矩阵随 N² 涨。只要邻居票、不要间隔,用K近邻(KNN)分类。二分类金标准加连续得分、要画灵敏度曲线时,主文应是ROC 曲线诊断分析,SVM 只负责产出得分。
如何选择方法
间隔、邻居、乱切树是三条不同的决策几何。SVM 最小化 \|w\| 同时惩罚闯间隔的松弛变量;KNN 不估计 w;ExtraTrees 连切点都随机。线性核等于在原空间画一张平的缝,RBF 核把点抬到无限维再隔。默认 RBF 适合「单价与面积交织、三类不是一层纸能切开」的住房表;若你坚信只有一条线性规则,应显式改线性核,而不是看完 RBF 占用再声称「模型是线性的」。
支持向量机(SVM)分类:定量特征 + 定类 Y;RBF 核、C=1;输出各类占用(硬标签)。
K近邻(KNN)分类:同样标准化,但判决是 K 票,没有间隔宽度。
二元逻辑回归:要的是 OR 与推断,不是最大间隔;Y 必须恰两类。
线性判别:共用协方差的线性轴,无核、无松弛 C。
输入、输出与限制
输入
特征为定量列。目标为定类。三类及以上自动走一对多:每一类对「其余类」各拟合一台软间隔机,预测时取决策函数最大的类。
特征变量:最少 2 个,最多 40 个定量。
目标变量:正好 1 个定类,2–10 个水平。
输出
占用表给出硬标签落入 A/B/C 的频数与占比。本例 B=35(14.83%)是三档里最瘦的占用。产品不输出 Platt 概率,也不把支持向量的行号印在占用表里;图为占用柱。要写「有多少个支持向量」,需看工作台附加摘要,不能从 35 反推。
产品限制
有效行至少 20;超过 3500 行拒绝(核矩阵内存),请先抽样。
默认核为 RBF,C=1,γ=1/p(p 为特征数);线性核需在参数里显式改。
每列 Z-score;未标准化时间隔会被单价轴拉歪。
多类固定 一对多,不是一对一、也不是 Crammer-Singer 多类间隔。
不做概率标定:没有「预测为 B 的概率 0.62」这种列。
SPSS 的 SVM 过程常带不同的核默认与概率输出;不要用它的后验去对 14.83% 占用。
案例
研究问题。 用面积、楼层、总楼层、建筑年份、单价五列,在 RBF 核下看三档标签能否被最大间隔分开,并检查少数档会不会被间隔推到很瘦的占用。
有效样本 236。占用 A 86、B 35、C 115。B 不足一成五,和 KNN 那次 B 仍有 64 套形成对照:间隔几何与邻居投票不是同一张地图。下载评价表,只使用上述五列定量,目标为三档标签。
在 StatsX 中操作
步骤 1 · 打开评价表
确认 Sheet1。行数 600 低于 3500 上限,整表可进核矩阵;本教学有效 236 行来自列删除。
步骤 2 · 检查量纲
单价与面积必须作为定量进入,好让 Z-score 把间隔从「元」里救出来。不要勾城市。
步骤 3 · 点选支持向量机分类
目录搜「SVM」或「间隔」。核保持 RBF,除非方案预先写了线性。
步骤 4 · 五列坐标 + 三档 Y
特征同 KNN 骨干;目标为三档标签。一对多由产品自动拆,不必自己复制三份表。
步骤 5 · 盯住最瘦的一档
B 若只有三十多套,先问该类在一对多里是否总被「其余类」的厚间隔吃掉。




如何阅读输出
占用表把 236 套硬标签分成 A 86、B 35、C 115。C 接近一半,B 掉到 14.83%。这是一对多三台机投票后的份额。B 瘦,可能是:(1) 金标准里 B 本来就少;(2) B 对「非 B」的间隔里,松弛把 B 侧推窄了。占用不能单独指认是哪一种。
| 项目 | 类别 | 统计量 | 取值 |
|---|---|---|---|
| 支持向量机(SVM)分类 | 类别 A | 频数 | 86 |
| 支持向量机(SVM)分类 | 类别 B | 频数 | 35 |
| 支持向量机(SVM)分类 | 类别 C | 频数 | 115 |
| 支持向量机(SVM)分类 | 合计 | 有效样本 N | 236 |
| 支持向量机(SVM)分类 | 类别 A | 占比(%) | 36.44 |
| 支持向量机(SVM)分类 | 类别 B | 占比(%) | 14.83 |
| 支持向量机(SVM)分类 | 类别 C | 占比(%) | 48.73 |
左右滑动可查看完整表格
教学示例表在 StatsX 工作台中的计算结果口径。


RBF 核软间隔在 236 套上给出的占用极不对称:C 115 套(48.73%),A 86 套(36.44%),B 只有 35 套(14.83%)。间隔分类器会把难以隔开的少数档往支撑更厚的一侧推;B 的占用稀,首先应检查该类支持向量够不够,而不是把 14.83% 写成「B 档市场份额」。
阅读顺序:N 是否低于核矩阵上限 → 最瘦档是否低于约 20 套(本例 B=35,勉强可谈间隔)→ 不要把占用写成概率。若方案要求灵敏度/特异度,把同一套硬标签或决策函数送进 ROC 页,而不是在占用柱上画截断。
理论与公式
二类软间隔在特征映射 \phi 下求解
对偶只出现内积。RBF 核把它换成
C 变大则少容忍闯界,间隔变窄,少数类 B 有时能争回一些占用,同时更易过拟合噪声点。γ=1/p 控制「一只支持向量能管多远」。三类时训练三台机 f_A,f_B,f_C,预测 \hat y=\mathrm{arg\,max}_c f_c(x)。占用 n_c 清点 \hat y=c 的次数,与 \sum_i \alpha_i 的支持向量个数不是同一列。
注意事项
硬标签占用 ≠ 后验概率。14.83% 不是「模型认为 B 的概率」。
一对多会让「其余类」在 B 那一台里天然占优,瘦类更容易被推窄。
C 与 γ 是产品默认,看完占用再调属于窥探。
核矩阵限制 3500 行,不是「SVM 不能用于大样本」的理论结论,是本实现的内存闸。
线性核与 RBF 的占用可以差出一整档,方法节必须写核名。
间隔最大化不是因果,也不能代替二元逻辑回归的 OR。
常见问题
参考文献
Cortes, C., Vapnik, V. Support-vector networks[J]. Machine Learning, 1995, 20(3): 273–297.
Schölkopf, B., Smola, A. J. Learning with Kernels[M]. MIT Press, 2002.
周志华. 机器学习[M]. 北京: 清华大学出版社, 2016.