机器学习西瓜书精讲 - 第六章:软间隔与正则化的深度理解

📘 机器学习西瓜书精讲 - 第六章:软间隔与正则化的深度理解
“完美分类≠最好模型,允许错误,反而更强。”
—— 周志华《机器学习》
🔍 一、问题引出:为什么“硬间隔”不够好?
在前几节中,我们默认训练集在特征空间中是线性可分的,也就是说,总能找到一个超平面把正负类样本完全划分开。但这只是理想情况。
现实中,数据集往往存在噪声或不可分情况,硬性要求“所有样本都必须被分对”(称为硬间隔 Hard Margin)往往导致两个问题:
-
无法找到完美划分的超平面;
-
即使找到了,也可能是过拟合的产物,即模型把训练集“记住了”,而不是学到了一般规律。
因此,我们引入“软间隔 Soft Margin”支持向量机,允许部分样本不满足分类约束,从而提升模型的泛化能力。
🧩 二、软间隔的数学建模
目标:既要让间隔大,也要允许出错。
经典 SVM 的约束条件为:
yᵢ(wᵀxᵢ + b) ≥ 1
我们放宽这个条件,引入松弛变量 ξᵢ(Slack Variables)来表示样本 i 不满足约束的程度。于是变成:
yᵢ(wᵀxᵢ + b) ≥ 1 - ξᵢ, ξᵢ ≥ 0
优化目标也加入了“出错惩罚”项,最终目标函数为:
min ½||w||² + C ∑ ξᵢ
其中:
-
第一项:控制间隔大小;
-
第二项:惩罚误分类的样本;
-
C 是超参数,控制两者的权衡。
🧠 三、替代损失函数(Surrogate Loss)
0/1 损失虽符合直觉,但不连续、非凸,不可导,优化困难。因此引入替代函数:
| 损失类型 | 数学表达 | 特点 |
|---|---|---|
| Hinge 损失 | max(0, 1 - z) | 标准 SVM 用 |
| 指数损失 | exp(-z) | Adaboost 使用 |
| 对率损失 | log(1 + exp(-z)) | Logistic 回归常用 |
其中,z = yᵢ(wᵀxᵢ + b)。这些函数都在 z 趋于负值时迅速增长,从而加强对错误分类样本的惩罚。
📐 四、拉格朗日对偶与 KKT 条件
引入拉格朗日乘子 αᵢ, μᵢ 后,将优化问题转化为对偶形式,可以方便地引入核函数来处理非线性问题。最终对偶问题为:
max ∑ αᵢ - ½ ∑∑ αᵢαⱼyᵢyⱼxᵢᵀxⱼ
s.t. ∑ αᵢyᵢ = 0, 0 ≤ αᵢ ≤ C
KKT 条件为:
αᵢ > 0 → 支持向量
αᵢ = C → 错误分类或落入间隔
αᵢ = 0 → 正确分类且远离边界
最终模型只由 支持向量 构成,具有良好的稀疏性。
🔗 五、正则化视角下的统一表达
式 (6.42) 给出了软间隔 SVM 的统一正则化形式:
min Ω(f) + C ∑ ℓ(f(xᵢ), yᵢ)
其中:
-
ℓ 是损失函数(hinge、log 等);
-
Ω(f) 是正则化项(通常是 ||w||²);
-
C 是权重因子。
从这个角度看,SVM 的目标就是在“模型复杂度”与“训练误差”之间找到一个最佳平衡点。
🧠 总结:软间隔与正则化的核心思想
| 概念 | 核心理解 |
|---|---|
| 软间隔 | 允许小部分样本出错,追求泛化而非完美分类 |
| 松弛变量 | 每个不满足约束的样本都有一个 ξᵢ,度量“出错程度” |
| 替代损失函数 | 为了优化更容易,使用连续、凸的损失代替 0/1 |
| 正则化 | 统一目标为:“间隔 + 错误” 的最小化平衡 |
| 稀疏性 | 最终模型仅由少数支持向量构成,效率高 |
📌 延伸阅读
如果你觉得这节博客有收获,不妨点个 ⭐️ 收藏,让更多同学一起走出“分类就要完美正确”的误区,理解“允许错误”的深意!
下一节我们将进入 6.5 支持向量回归(SVR) —— 让 SVM 不止能分类,也能回归!

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)