支持向量机
支持向量机是一种基于统计学习理论的监督学习算法,主要用于分类和回归任务。其核心思想是寻找一个最优超平面,使得两类数据点之间的间隔最大化。下面逐步展开讲解:
1. 线性可分情况与最大间隔原理
假设训练数据 \(\{(x_i, y_i)\}\) 中 \(y_i \in \{-1, +1\}\),且数据线性可分。目标是找到一个超平面 \(w^T x + b = 0\),使得所有样本满足:
\[y_i (w^T x_i + b) \geq 1 \]
此时,样本到超平面的函数间隔为 \(|w^T x_i + b|\),几何间隔为 \(\frac{|w^T x_i + b|}{\|w\|}\)。最大化几何间隔等价于求解:
\[\min_{w,b} \frac{1}{2} \|w\|^2 \quad \text{s.t.} \quad y_i (w^T x_i + b) \geq 1 \]
这是一个凸二次规划问题,其解由少数支持向量(满足 \(y_i (w^T x_i + b) = 1\) 的样本)决定。
2. 线性不可分情况与软间隔
当数据存在噪声或重叠时,引入松弛变量 \(\xi_i \geq 0\),允许部分样本违反间隔条件:
\[\min_{w,b,\xi} \frac{1}{2} \|w\|^2 + C \sum_{i=1}^n \xi_i \quad \text{s.t.} \quad y_i (w^T x_i + b) \geq 1 - \xi_i \]
参数 \(C\) 控制分类误差与间隔的权衡:\(C\) 越大,对误分类的惩罚越强。
3. 对偶问题与核技巧
通过拉格朗日对偶将原问题转化为对偶问题:
\[\max_{\alpha} \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i,j} \alpha_i \alpha_j y_i y_j x_i^T x_j \quad \text{s.t.} \quad 0 \leq \alpha_i \leq C, \ \sum_i \alpha_i y_i = 0 \]
解出 \(\alpha_i\) 后,超平面由支持向量(\(\alpha_i > 0\))决定:
\[w = \sum_{i} \alpha_i y_i x_i, \quad b = y_j - \sum_{i} \alpha_i y_i x_i^T x_j \ (\text{对任意 } \alpha_j > 0) \]
核技巧:将内积 \(x_i^T x_j\) 替换为核函数 \(K(x_i, x_j)\)(如高斯核 \(K(x_i, x_j) = \exp(-\gamma \|x_i - x_j\|^2)\)),将数据映射到高维空间,解决非线性分类问题。
4. 支持向量回归
用于回归任务时,目标改为拟合一个间隔为 \(\epsilon\) 的“管道”,使得多数样本落在管道内:
\[\min_{w,b} \frac{1}{2} \|w\|^2 + C \sum_{i=1}^n (\xi_i + \xi_i^*) \]
约束为:
\[\begin{cases} y_i - (w^T x_i + b) \leq \epsilon + \xi_i \\ (w^T x_i + b) - y_i \leq \epsilon + \xi_i^* \\ \xi_i, \xi_i^* \geq 0 \end{cases} \]
5. 与运筹学的联系
支持向量机的训练本质是求解凸优化问题(二次规划),依赖对偶理论、核方法及优化算法(如序列最小优化算法)。其在运筹学中应用于模式识别、数据分类、风险决策等场景,体现了优化理论与机器学习的交叉。