🎓

支持向量机 (SVM)

如何在一堆考生中画出一条"最靠谱"的录取分界线?
SVM 的答案是:让分界线离最近的考生尽可能远

1 场景:考研录取预测

假设你是研究生招生办的老师,每位考生有两项成绩:

📝
笔试成绩
专业知识考核 (0-100分)
🎤
面试成绩
综合素质考核 (0-100分)

你手里有往年20位考生的数据,知道他们最终是"录取"还是"未录取"。现在有新考生要来面试了——你需要一条分界线来辅助判断。

核心问题:能把两类考生分开的线有无数条。SVM 要找的是那条最"稳"的线——离两边最近的考生都尽量远,这样对新数据的预测最可靠。

2 数据一览:把考生画在坐标系上

每位考生变成坐标系上的一个点——横轴是笔试成绩,纵轴是面试成绩。绿色代表录取,红色代表未录取。

11 人
✅ 录取
11 人
❌ 未录取
💡 观察:录取考生集中在右上角(两项成绩都较高),未录取集中在左下角。中间有一条模糊的"分界区域"——SVM 就是来找这条线的。

3 哪条线最好?试试看

下面三条线都能把"录取"和"未录取"分开,但间隔(灰色区域)的宽度不同。点击按钮切换,感受哪条线最"稳":

间隔宽度:
11.3
直觉理解:间隔越宽,说明分界线离两边的考生都更远,面对"边缘考生"时判断不会太纠结——这就是 SVM 追求"最大间隔"的原因。

4 最大间隔:SVM 的核心思想

SVM 不只是画一条能分开数据的线——它要找间隔最宽的那条线。

想象分界线是一条公路,两侧的虚线是路肩。SVM 要让这条"公路"尽可能宽,这样新来的考生即使成绩有波动,也不容易被误判到另一边。

⚖️ 为什么最大间隔好?
抗干扰:新考生的成绩可能有随机波动(紧张、临场发挥),宽间隔能容忍这种波动
泛化能力强:不仅拟合训练数据,更能准确预测新数据
数学上可证明:最大间隔等价于最小化分类器的复杂度,降低过拟合风险

5 支持向量:决定一切的关键考生

整条分界线的位置,完全由最靠近它的那几个点决定——这些点就叫"支持向量"

💡 关键洞察:
• 那些远离分界线的考生(比如笔试90+面试90),即使删掉也完全不影响分界线的位置
• 只有紧贴间隔边缘的"支持向量"才真正决定了分界线
• 这就是"支持向量机"名字的由来——这几个关键点"支撑"起了整个分类器

6 自己试试!点击预测新考生

在下面的坐标系上任意位置点击,放置一位新考生,看看 SVM 会给出什么预测:

👆 点击坐标系任意位置,放置新考生
观察:离分界线越远,SVM 越"自信";在间隔带内的点,SVM 也能给出预测,但置信度较低。试试把点放在分界线附近看看!

7 当一条直线不够用时:核技巧

有时候两类数据没法用一条直线分开——比如一类在中间,另一类围在外面:

❌ 直线分不开
✅ 核技巧:弯曲的分界
💡 核技巧的直觉:想象把这张平面纸"鼓"起来变成一个碗——原来混在一起的点,在碗的高处和低处自然就分开了。 然后在高维空间中用一个平面切开,再"压"回二维,就变成了一条曲线分界。

常用的核函数有:线性核(就是直线)、多项式核(曲线)、高斯核/RBF(最灵活,能拟合各种形状)。

🎓 小结

📐
画分界线
找一条线(或面)把两类数据分开
↔️
最大间隔
让分界线离两边最近的点尽可能远
📌
支持向量
只有边缘上的关键点决定分界线

SVM 的核心就三句话:画线分开两类 → 让间隔最宽 → 关键点决定一切
数据线性不可分时,用核技巧"升维"后再画线。