拉格朗日乘数法在支持向量机(SVM)优化中的应用
题目描述:
支持向量机(SVM)在寻找最优分类超平面时,需要将原始问题转化为一个凸优化问题。这个优化问题通常带有不等式约束,难以直接求解。拉格朗日乘数法可以将这个带约束的原问题转化为一个更容易处理的对偶问题。本题将详细讲解拉格朗日乘数法如何应用于SVM的优化过程,包括:构建拉格朗日函数、推导KKT条件、将原问题转化为对偶问题,并解释其对偶形式的意义。
解题过程:
1. SVM原始优化问题的形式化
假设我们有一个线性可分的二分类数据集,样本为 \((x_i, y_i)\),其中 \(y_i \in \{-1, +1\}\)。SVM的目标是找到一个超平面 \(w^T x + b = 0\),使得所有样本都被正确分类,并且分类间隔(margin)最大化。
间隔定义为样本点到超平面的最小距离,最大化间隔等价于最小化 \(\|w\|\)。因此,SVM的原始优化问题(硬间隔情形)可写为:
\[\begin{aligned} \min_{w, b} & \quad \frac{1}{2} \|w\|^2 \\ \text{s.t.} & \quad y_i (w^T x_i + b) \geq 1, \quad \forall i \end{aligned} \]
这是一个带有线性不等式约束的凸二次规划问题。
2. 引入拉格朗日乘数法
为了处理约束,我们为每个样本引入一个非负的拉格朗日乘子 \(\alpha_i \geq 0\)。构建拉格朗日函数 \(L(w, b, \alpha)\),将约束条件融入目标函数:
\[L(w, b, \alpha) = \frac{1}{2} \|w\|^2 - \sum_{i=1}^n \alpha_i \left[ y_i (w^T x_i + b) - 1 \right] \]
这里,\(\alpha = (\alpha_1, \dots, \alpha_n)^T\) 是拉格朗日乘子向量。注意,拉格朗日函数在原始变量 \(w, b\) 和乘子 \(\alpha\) 上定义。
3. 拉格朗日对偶问题的推导
原始问题的最优解满足 KKT(Karush-Kuhn-Tucker)条件,其中包括:
- 平稳性条件:拉格朗日函数对原始变量 \(w, b\) 的偏导为零:
\[ \nabla_w L = w - \sum_{i=1}^n \alpha_i y_i x_i = 0 \quad \Rightarrow \quad w = \sum_{i=1}^n \alpha_i y_i x_i \]
\[ \frac{\partial L}{\partial b} = -\sum_{i=1}^n \alpha_i y_i = 0 \quad \Rightarrow \quad \sum_{i=1}^n \alpha_i y_i = 0 \]
- 原始可行性:\(y_i (w^T x_i + b) \geq 1\)。
- 对偶可行性:\(\alpha_i \geq 0\)。
- 互补松弛条件:\(\alpha_i \left[ y_i (w^T x_i + b) - 1 \right] = 0\)。
利用平稳性条件,我们可以将 \(w\) 表示为 \(\alpha\) 的线性组合,并代入拉格朗日函数,消去 \(w\) 和 \(b\)。具体步骤如下:
- 将 \(w = \sum_i \alpha_i y_i x_i\) 代入 \(L\)。
- 利用 \(\sum_i \alpha_i y_i = 0\) 简化表达式。
- 经过代数运算(展开平方项、合并求和),得到只关于 \(\alpha\) 的函数:
\[L(w, b, \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 x_i^T x_j \]
这个函数是拉格朗日函数在满足平稳性条件下的值,也称为 对偶目标函数。
4. 对偶优化问题的形成
原始问题的对偶问题是在满足对偶可行性条件下,最大化对偶目标函数:
\[\begin{aligned} \max_{\alpha} & \quad \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 x_i^T x_j \\ \text{s.t.} & \quad \alpha_i \geq 0, \quad \forall i \\ & \quad \sum_{i=1}^n \alpha_i y_i = 0 \end{aligned} \]
这是一个凸二次规划问题,且通常比原始问题更容易求解,因为变量 \(\alpha_i\) 的数量等于样本数 \(n\),而原始问题的变量 \(w\) 的维度可能很高(例如在高维特征空间)。
5. 从对偶解恢复原始解
求解对偶问题得到最优的 \(\alpha^*\) 后,我们可以恢复原始解:
- 权重向量:\(w^* = \sum_{i=1}^n \alpha_i^* y_i x_i\)。
- 偏置 \(b^*\):利用互补松弛条件,对于任意满足 \(\alpha_i^* > 0\) 的样本(即支持向量),有 \(y_i (w^{*T} x_i + b^*) = 1\)。因此,
\[ b^* = y_i - w^{*T} x_i \quad \text{(任选一个支持向量计算)} \]
实践中常使用所有支持向量的平均值以提高数值稳定性。
6. 拉格朗日乘数的意义
乘子 \(\alpha_i\) 具有明确的物理意义:
- \(\alpha_i = 0\):对应样本不是支持向量,对 \(w^*\) 无贡献。
- \(\alpha_i > 0\):对应样本是支持向量,位于间隔边界上(满足 \(y_i (w^T x_i + b) = 1\))。
互补松弛条件保证了只有支持向量才对最终模型有影响,这带来了SVM的稀疏性。
7. 扩展到软间隔与核方法
- 软间隔SVM:引入松弛变量 \(\xi_i\) 和惩罚参数 \(C\),原始问题变为:
\[ \min_{w, b, \xi} \frac{1}{2} \|w\|^2 + C \sum_i \xi_i, \quad \text{s.t.} \quad y_i (w^T x_i + b) \geq 1 - \xi_i, \quad \xi_i \geq 0 \]
同样应用拉格朗日乘数法,会引入两组乘子 \(\alpha_i \geq 0\) 和 \(\mu_i \geq 0\),最终对偶形式与硬间隔类似,但增加了约束 \(\alpha_i \leq C\)。
- 核技巧:在对偶问题中,样本仅以内积形式 \(x_i^T x_j\) 出现。通过核函数 \(K(x_i, x_j)\) 替换内积,可将SVM扩展到非线性分类,而不显式计算高维特征映射。
总结:
拉格朗日乘数法将SVM的带约束原始问题转化为对偶问题,使优化更易处理,并自然地引出了支持向量的概念。通过对偶形式,SVM能够高效利用核技巧,实现非线性分类,同时保持解的稀疏性。