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

“完美分类≠最好模型,允许错误,反而更强。”
—— 周志华《机器学习》


🔍 一、问题引出:为什么“硬间隔”不够好?

在前几节中,我们默认训练集在特征空间中是线性可分的,也就是说,总能找到一个超平面把正负类样本完全划分开。但这只是理想情况。

现实中,数据集往往存在噪声或不可分情况,硬性要求“所有样本都必须被分对”(称为硬间隔 Hard Margin)往往导致两个问题:

  1. 无法找到完美划分的超平面

  2. 即使找到了,也可能是过拟合的产物,即模型把训练集“记住了”,而不是学到了一般规律。

因此,我们引入“软间隔 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 不止能分类,也能回归!

Logo

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

更多推荐