用“挑西瓜”讲透《机器学习》第六章-支持向量机
📖《机器学习》第6章·通俗解读 | 支持向量机(SVM):找一条“最宽”的分界线
支持向量机(SVM)是机器学习里最优雅的算法之一。
它的核心思想非常简单:
在两类数据之间,画一条分界线,不仅要把它们分开,还要让这条线离两边都尽可能远。
就像你劝架时,站在两个人中间,希望离两个人都一样远,避免挨打。
1. 间隔与支持向量:什么是“最宽”的分界线?
假设你有好瓜和坏瓜,想在平面上画一条直线把它们分开。
可能的直线有很多条(随便扭一扭都能分开)。
哪一条最好?

直觉:选那条离两边最近的瓜都最远的线。
这样,即使新来的瓜有点“跑偏”,也不太容易被分错。
-
这条线叫划分超平面(在二维是直线,在高维是平面/超平面)
-
离这条线最近的几个瓜(决定线位置的)叫支持向量
-
线到两边支持向量的距离之和叫间隔

SVM 要找的就是间隔最大的那条线。
为什么最大间隔好?
因为间隔越大,模型的“容错空间”越大,对新数据的泛化能力越强。
2. 硬间隔 vs 软间隔:允许犯一点点错
现实中,数据往往不是完全“干净”的。
可能有个别坏瓜混在好瓜堆里,或者相反。
-
硬间隔:要求所有瓜都必须被正确分开,一点错都不能有。
这在真实数据中几乎不可能(会找不到线),或者找到的线很奇怪(过拟合)。 -
软间隔:允许少数瓜“站错队”,但要在目标里惩罚它们。
你可以控制惩罚的力度:-
惩罚大 → 尽量少犯错,可能过拟合
-
惩罚小 → 允许更多犯错,可能欠拟合
-
就像考试:硬间隔要求每题都对(没人能做到);软间隔允许错几题,但要扣分。
3. 对偶问题与求解:换一种方式解方程
直接求最大间隔超平面,是一个带约束的最优化问题。
数学上可以用拉格朗日乘子法转换成对偶问题,更容易求解。
对偶问题的好处:
-
计算中只涉及样本之间的内积(点乘)
-
最终模型只与支持向量有关,其他样本不影响结果
这意味着:训练完成后,你只需要记住那些“站在边界上的瓜”,其他瓜可以扔掉。
这让 SVM 非常“节省内存”。
4. 核函数:让 SVM 也能处理“拧巴”的数据
如果数据本身不是线性可分的(比如好瓜和坏瓜像麻花一样缠在一起),怎么办?
核技巧:把数据映射到更高维的空间,在那边可能就线性可分啦!
比如二维里缠在一起的点,映射到三维,可能用一个平面就能切开。
但直接做高维映射计算量太大。
核函数允许你在低维空间直接计算高维空间的内积,省去映射过程。
通俗理解:你不想爬楼梯去五楼,但有人用绳子把东西拉上去,你只要在楼下动动绳子就行。
核函数就是那根“魔法绳子”。
常用核函数:
| 核函数 | 特点 | 适用场景 |
|---|---|---|
| 线性核 | 就是原空间的内积,不映射 | 数据本身已经线性可分 |
| 多项式核 | 映射到多项式空间 | 一般分类 |
| 高斯核(RBF) | 最常用,可以映射到无穷维 | 大多数情况都好用 |
高斯核有一个参数 γ(gamma),控制“影响力范围”:
γ 大 → 每个样本只影响附近小区域 → 容易过拟合
γ 小 → 影响范围大 → 决策边界更平滑
5. 支持向量回归(SVR):用“管道”来回归
回归任务(预测数值)也能用 SVM 的思想。
SVR 不是要求预测值精确等于真实值,而是允许有一个误差范围 ε(比如 ±0.1)。
只要预测落在“管道”内,就算对;超出管道才计算损失。

就像你测体温:37.0℃到37.2℃都算正常,超出才算发烧。
这也让 SVR 对噪声不敏感,更鲁棒。
6. 核方法:不只 SVM 能用
核技巧不光能用在 SVM 上,它是一套通用的“魔法工具”。
你可以把任何线性模型(比如线性回归、线性判别分析)核化,变成非线性版本。
这就是核方法:先用核函数隐式映射到高维,再在高维做线性学习。
📌 第六章总结(背下这5句就够了)
-
SVM 的核心:找一条分界线,让两边离它都尽可能远(最大化间隔)
-
支持向量 = 站在边界上的那几个关键样本,决定了线的位置
-
软间隔允许少量错误,通过惩罚参数 C 控制
-
核函数 = 魔法绳子,让你在低维解决高维的问题,高斯核最常用
-
SVR 是回归版本,允许一个误差管道,管道外的点才计损失
👇 下章预告
第七章讲贝叶斯分类器——用概率来做决策。
你会学到朴素贝叶斯(“天真”的假设)、贝叶斯网(更复杂的依赖关系),以及 EM 算法(处理缺失数据)。
贝叶斯方法的思想很美:用先验知识 + 观测数据 → 后验概率,就像“常识 + 证据 → 更靠谱的判断”。
用“挑西瓜”讲透《机器学习》第七章-贝叶斯分类器-CSDN博客
更多推荐
所有评论(0)