西瓜书第六章支持向量机

支持向量机 (SVM)


1. 间隔与支持向量

SVM 的目标是找到一个超平面,将不同类别的数据分开,并最大化分隔的间隔。定义间隔为两类样本点到分类超平面的最小距离。对线性可分情况,假设数据集为:

\[\{(\mathbf{x}_i, y_i) | \mathbf{x}_i \in \mathbb{R}^n, y_i \in \{-1, +1\}, i = 1, 2, \dots, m\} \]

分类超平面可以表示为:

\[\mathbf{w} \cdot \mathbf{x} + b = 0 \]

其中,\(\mathbf{w}\) 为法向量,决定超平面的方向;\(b\) 为偏置项,决定超平面到原点的距离。

数据点到超平面的距离为:

\[\frac{| \mathbf{w} \cdot \mathbf{x}_i + b |}{\|\mathbf{w}\|} \]

间隔最大化条件为满足:

\[y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1, \quad i = 1, \dots, m \]

其中满足等号的点被称为支持向量,它们位于间隔边界上。


2. 对偶问题

SVM 的优化问题可以通过引入拉格朗日乘子 \(\alpha_i\) 转化为对偶问题,从而便于计算非线性情况。原始问题为:

\[\min_{\mathbf{w}, b} \frac{1}{2} \|\mathbf{w}\|^2 \]

约束条件:

\[y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1, \quad i = 1, \dots, m \]

构建拉格朗日函数:

\[L(\mathbf{w}, b, \alpha) = \frac{1}{2} \|\mathbf{w}\|^2 - \sum_{i=1}^m \alpha_i \left( y_i (\mathbf{w} \cdot \mathbf{x}_i + b) - 1 \right) \]

通过对偶形式进行优化,得到:

\[\max_{\alpha} \sum_{i=1}^m \alpha_i - \frac{1}{2} \sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y_i y_j \mathbf{x}_i \cdot \mathbf{x}_j \]

约束条件:

\[\sum_{i=1}^m \alpha_i y_i = 0, \quad \alpha_i \geq 0 \]


3. 核函数

在非线性可分情况下,通过引入核函数将低维输入映射到高维特征空间,使得线性不可分数据在高维空间中线性可分。核函数定义为:

\[K(\mathbf{x}_i, \mathbf{x}_j) = \phi(\mathbf{x}_i) \cdot \phi(\mathbf{x}_j) \]

常见核函数包括:

  • 线性核\(K(\mathbf{x}_i, \mathbf{x}_j) = \mathbf{x}_i \cdot \mathbf{x}_j\)
  • 多项式核\(K(\mathbf{x}_i, \mathbf{x}_j) = (\mathbf{x}_i \cdot \mathbf{x}_j + c)^d\)
  • 高斯核(RBF 核)\(K(\mathbf{x}_i, \mathbf{x}_j) = \exp\left(-\frac{\|\mathbf{x}_i - \mathbf{x}_j\|^2}{2\sigma^2}\right)\)
  • Sigmoid 核\(K(\mathbf{x}_i, \mathbf{x}_j) = \tanh(\kappa \mathbf{x}_i \cdot \mathbf{x}_j + \theta)\)

核函数的引入避免了显式计算 \(\phi(\mathbf{x})\),通过“核技巧”直接在低维空间中计算高维空间的内积。


4. 软间隔与正则化

对于线性不可分数据,允许一定的误分类,通过引入松弛变量 \(\xi_i \geq 0\),并构建软间隔。优化问题变为:

\[\min_{\mathbf{w}, b} \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^m \xi_i \]

约束条件:

\[y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1 - \xi_i, \quad \xi_i \geq 0, \quad i = 1, \dots, m \]

其中,\(C\)正则化参数,用于控制间隔大小与误分类样本的权衡,\(C\) 值越大,对误分类的惩罚越大,模型越倾向于较小间隔。


5. 支持向量回归 (SVR)

支持向量回归 (SVR) 是 SVM 在回归问题中的应用。SVR 的目标是找到一个拟合超平面,使样本点落在误差不超过 \(\epsilon\) 的区域内。SVR 的优化问题为:

\[\min_{\mathbf{w}, b} \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^m (\xi_i + \xi_i^*) \]

约束条件:

\[\begin{cases} y_i - (\mathbf{w} \cdot \mathbf{x}_i + b) \leq \epsilon + \xi_i \\ (\mathbf{w} \cdot \mathbf{x}_i + b) - y_i \leq \epsilon + \xi_i^* \\ \xi_i, \xi_i^* \geq 0 \end{cases} \]

其中,\(\epsilon\) 控制回归精度,\(\xi_i\)\(\xi_i^*\) 是松弛变量,用于度量样本点偏离 \(\epsilon\) 区域的误差。


6. 核方法

核方法广泛用于机器学习中,通过定义不同的核函数,模型能够在高维空间进行计算而不显式地进行映射。核方法的特点是可以在不同特征空间间找到适合的核函数,将复杂数据转化为线性模型,从而提升 SVM 在非线性数据上的表现。

对于任意给定的核函数 \(K(\mathbf{x}_i, \mathbf{x}_j)\),我们可以在新的特征空间进行操作,而无需直接计算映射函数 \(\phi(\mathbf{x})\)

posted @ 2024-11-03 19:32  yswtg  阅读(139)  评论(0)    收藏  举报