支持向量机(SVM)的软间隔与松弛变量优化过程
题目描述
支持向量机(SVM)在完美线性可分数据上通过硬间隔最大化实现分类,但现实数据常存在噪声或重叠分布。软间隔SVM通过引入松弛变量(Slack Variables)允许部分样本违反间隔要求,以提升模型泛化能力。本题将详细讲解软间隔SVM的数学建模、松弛变量的作用,以及优化问题的推导与求解过程。
解题过程
- 问题建模:从硬间隔到软间隔
- 硬间隔SVM要求所有样本满足约束:\(y_i(\mathbf{w}^T \mathbf{x}_i + b) \geq 1\)(\(y_i \in \{-1, +1\}\))。
- 软间隔SVM引入松弛变量 \(\xi_i \geq 0\),允许样本违反间隔:
\[ y_i(\mathbf{w}^T \mathbf{x}_i + b) \geq 1 - \xi_i \]
- 目标函数同时最小化间隔损失和分类误差,加入惩罚项 \(C \sum_{i=1}^n \xi_i\)(\(C > 0\) 为超参数):
\[ \min_{\mathbf{w}, b, \xi} \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^n \xi_i \]
- 拉格朗日函数构建
- 将约束优化问题转化为无约束形式,引入拉格朗日乘子 \(\alpha_i \geq 0\) 和 \(\mu_i \geq 0\):
\[ \begin{aligned} L(\mathbf{w}, b, \xi, \alpha, \mu) = &\frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^n \xi_i \\ &- \sum_{i=1}^n \alpha_i \left[ y_i(\mathbf{w}^T \mathbf{x}_i + b) - 1 + \xi_i \right] - \sum_{i=1}^n \mu_i \xi_i \end{aligned} \]
- 对偶问题推导
- 分别对 \(\mathbf{w}\)、\(b\)、\(\xi_i\) 求偏导并令其为零:
\[ \frac{\partial L}{\partial \mathbf{w}} = 0 \Rightarrow \mathbf{w} = \sum_{i=1}^n \alpha_i y_i \mathbf{x}_i \]
\[ \frac{\partial L}{\partial b} = 0 \Rightarrow \sum_{i=1}^n \alpha_i y_i = 0 \]
\[ \frac{\partial L}{\partial \xi_i} = 0 \Rightarrow C - \alpha_i - \mu_i = 0 \]
- 将结果代回拉格朗日函数,消去 \(\mathbf{w}\)、\(b\)、\(\xi_i\)、\(\mu_i\),得到对偶问题:
\[ \max_{\alpha} \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j \mathbf{x}_i^T \mathbf{x}_j \]
约束条件:
\[ \sum_{i=1}^n \alpha_i y_i = 0, \quad 0 \leq \alpha_i \leq C \quad (\text{由 } \mu_i \geq 0 \text{ 和 } C - \alpha_i - \mu_i = 0 \text{ 推导}) \]
- 松弛变量的作用与KKT条件
- KKT条件揭示样本分类结果与松弛变量的关系:
- \(\alpha_i = 0\):样本被正确分类且位于间隔外(\(\xi_i = 0\))。
- \(0 < \alpha_i < C\):样本恰在间隔边界上(\(\xi_i = 0\))。
- \(\alpha_i = C\):样本违反间隔(\(\xi_i > 0\)),可能被误分类。
- 松弛变量 \(\xi_i\) 的实际值由违反程度决定:
- KKT条件揭示样本分类结果与松弛变量的关系:
\[ \xi_i = \max \left(0, 1 - y_i(\mathbf{w}^T \mathbf{x}_i + b) \right) \]
-
支持向量的分类
- \(\alpha_i > 0\) 的样本称为支持向量,包括:
- 间隔边界上的向量(\(\alpha_i < C\),\(\xi_i = 0\))。
- 误分类或落入间隔内的向量(\(\alpha_i = C\),\(\xi_i > 0\))。
- 超平面仅由支持向量决定,非支持向量(\(\alpha_i = 0\))不影响模型。
- \(\alpha_i > 0\) 的样本称为支持向量,包括:
-
超参数 \(C\) 的意义
- \(C\) 控制间隔宽度与分类误差的权衡:
- \(C \to \infty\):退化为硬间隔SVM,不允许任何误分类。
- \(C \to 0\):允许大量误分类,间隔变宽,模型更简单。
- 实践中通过交叉验证选择 \(C\),以平衡过拟合与欠拟合。
- \(C\) 控制间隔宽度与分类误差的权衡:
总结
软间隔SVM通过松弛变量和惩罚机制处理非线性可分数据,其优化过程转化为对偶问题求解,并通过KKT条件解释支持向量的分类特性。超参数 \(C\) 的调节进一步增强了模型的实用性。