支持向量机与关联分类:原理、方法与应用
立即解锁
发布时间: 2025-08-23 00:06:19 阅读量: 4 订阅数: 14 

# 支持向量机与关联分类:原理、方法与应用
## 1. 支持向量机概述
支持向量机(Support Vector Machines,SVM)是一种用于线性和非线性数据分类的新方法。其核心工作流程是利用非线性映射将原始训练数据转换到更高维度的空间,然后在这个新空间中寻找线性最优分离超平面,以此作为区分不同类别元组的“决策边界”。借助合适的非线性映射到足够高的维度,两类数据总能被一个超平面分开。SVM 通过支持向量(关键训练元组)和间隔(由支持向量定义)来找到这个超平面。
### 1.1 SVM 的优势与应用
尽管即使是最快的 SVM 训练时间也可能极慢,但它具有高度准确性,能够对复杂的非线性决策边界进行建模。与其他方法相比,SVM 更不容易出现过拟合问题。找到的支持向量还能简洁地描述学习到的模型。SVM 不仅可用于分类,还能进行预测,已应用于手写数字识别、目标识别、说话人识别以及基准时间序列预测测试等多个领域。
## 2. 数据线性可分的情况
### 2.1 问题描述
先考虑最简单的二分类问题,即类别线性可分的情况。给定数据集 $D$ 为 $(X_1, y_1), (X_2, y_2), \cdots, (X_{|D|}, y_{|D|})$,其中 $X_i$ 是带有关联类标签 $y_i$ 的训练元组集合,每个 $y_i$ 取值为 $+1$ 或 $-1$,分别对应“购买计算机 = 是”和“购买计算机 = 否”。以两个输入属性 $A_1$ 和 $A_2$ 为例,二维数据线性可分意味着可以画一条直线将类别为 $+1$ 的所有元组与类别为 $-1$ 的所有元组分开,且这样的分隔线有无数条。我们的目标是找到“最佳”的分隔线,即对未见过的元组分类误差最小的那条。推广到 $n$ 维,就是要找到最佳超平面。
### 2.2 最大间隔超平面
SVM 通过寻找最大间隔超平面(Maximum Marginal Hyperplane,MMH)来解决这个问题。直观上,间隔较大的超平面在对未来数据元组分类时可能更准确。间隔的非正式定义是:超平面到其间隔一侧的最短距离等于到另一侧的最短距离,且间隔的“两侧”与超平面平行。对于 MMH,这个距离实际上是 MMH 到任一类中最近训练元组的最短距离。
### 2.3 超平面的数学表示
分隔超平面可以表示为 $W \cdot X + b = 0$,其中 $W$ 是权重向量,$W = \{w_1, w_2, \cdots, w_n\}$,$n$ 是属性数量,$b$ 是标量,常称为偏置。以两个输入属性 $A_1$ 和 $A_2$ 为例,训练元组是二维的,如 $X = (x_1, x_2)$,若将 $b$ 视为额外权重 $w_0$,则分隔超平面可重写为 $w_0 + w_1x_1 + w_2x_2 = 0$。
任何位于分隔超平面上方的点满足 $w_0 + w_1x_1 + w_2x_2 > 0$,位于下方的点满足 $w_0 + w_1x_1 + w_2x_2 < 0$。
调整权重后,定义间隔“两侧”的超平面可表示为:
- $H_1$:$w_0 + w_1x_1 + w_2x_2 \geq 1$(对于 $y_i = +1$)
- $H_2$:$w_0 + w_1x_1 + w_2x_2 \leq -1$(对于 $y_i = -1$)
即任何落在 $H_1$ 上或上方的元组属于类别 $+1$,落在 $H_2$ 上或下方的元组属于类别 $-1$。将这两个不等式结合可得 $y_i(w_0 + w_1x_1 + w_2x_2) \geq 1$,$\forall i$。
### 2.4 支持向量
任何落在超平面 $H_1$ 或 $H_2$ 上的训练元组满足上述不等式,这些元组称为支持向量,它们与(分隔)MMH 距离相等。支持向量是最难分类的元组,包含了关于分类的最多信息。
### 2.5 最大间隔的计算
分隔超平面到 $H_1$ 上任意点的距离为 $\frac{1}{||W||}$,其中 $||W||$ 是 $W$ 的欧几里得范数,即 $\sqrt{W \cdot W}$。根据定义,这也等于 $H_2$ 上任意点到分隔超平面的距离。因此,最大间隔为 $\frac{2}{||W||}$。
### 2.6 寻找 MMH 和支持向量
通过一些数学技巧,可将上述不等式重写为一个有约束的(凸)二次优化问题。对于小规模数据(比如少于 2000 个训练元组),可使用任何求解有约束凸二次问题的优化软件包来找到支持向量和 MMH;对于大规模数据,则需使用专门且更高效的 SVM 训练算法。找到支持向量和 MMH 后,就得到了一个训练好的支持向量机,对应的 SVM 可用于对线性可分数据进行分类,称为线性 SVM。
### 2.7 使用训练好的 SVM 进行分类
基于上述拉格朗日公式,MMH 可重写为决策边界:
$d(X_T) = \sum_{i=1}^{l} y_i\alpha_iX_iX_T + b_0$
其中 $y_i$ 是支持向量 $X_i$ 的类标签,$X_T$ 是测试元组,$\alpha_i$ 和 $b_0$ 是由上述优化或 SVM 算法自动确定的数值参数,$l$ 是支持向量的数量。
给定测试元组 $X_T$,将其代入上述公式,检查结果的符号。若符号为正,则 $X_T$ 落在 MMH 上或上方,SVM 预测 $X_T$ 属于类别 $+1$;若符号为负,则 $X_T$ 落在 MMH 上或下方,预测类别为 $-1$。
### 2.8 线性 SVM 的特点
学习到的分类器的复杂度由支持向量的数量而非数据的维度来表征,因此 SVM 比其他一些方法更不容易过拟合。支持向量是关键的训练元组,它们离决策边界(MMH)最近。即使移除所有其他训练元组并重新训练,也会得到相同的分隔超平面。此外,找到的支持向量数量可用于计算 SVM 分类器预期误差率的(上)界,该界与数据维度无关。即使数据维度很高,支持向量数量较少的 SVM 也能有良好的泛化能力。
以下是线性
0
0
复制全文
相关推荐









