基于最大间隔的多类核支持向量机(Multiclass Kernel SVM)的多类问题求解策略:一对一(One-vs-One)与一对多(One-vs-Rest)策略的原理、决策过程与优化
字数 4215 2025-12-15 13:06:44

基于最大间隔的多类核支持向量机(Multiclass Kernel SVM)的多类问题求解策略:一对一(One-vs-One)与一对多(One-vs-Rest)策略的原理、决策过程与优化


题目描述

支持向量机(SVM)本质上是一种二分类算法。但当面对多类分类问题时(例如类别数 \(K \geq 3\)),需要将其扩展为多类分类器。本题将详细讲解两种经典的多类SVM扩展策略:一对多(One-vs-Rest, OvR)一对一(One-vs-One, OvO),并深入分析它们在核支持向量机(Kernel SVM) 中的应用原理、决策过程、优化方法及各自的优缺点。


解题过程

我们假设有 \(K\) 个类别,训练集为 \(\{ (\mathbf{x}_i, y_i) \}_{i=1}^N\),其中 \(y_i \in \{1, 2, \dots, K\}\)。目标是构建一个分类器 \(f(\mathbf{x}): \mathbb{R}^d \to \{1, \dots, K\}\)

步骤1:回顾核支持向量机(Kernel SVM)的二分类原理

核SVM通过映射 \(\phi(\mathbf{x})\) 将数据映射到高维特征空间,并在该空间中寻找最优分离超平面:

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

\[ \text{s.t.} \quad y_i (\mathbf{w}^\top \phi(\mathbf{x}_i) + b) \geq 1 - \xi_i, \quad \xi_i \geq 0 \]

通过核技巧,对偶问题仅依赖于核函数 \(K(\mathbf{x}_i, \mathbf{x}_j) = \phi(\mathbf{x}_i)^\top \phi(\mathbf{x}_j)\),无需显式计算 \(\phi(\mathbf{x})\)。最终决策函数为:

\[f(\mathbf{x}) = \operatorname{sign}\left( \sum_{i \in SV} \alpha_i y_i K(\mathbf{x}_i, \mathbf{x}) + b \right) \]

其中 \(SV\) 表示支持向量。


步骤2:一对多(One-vs-Rest, OvR)策略的原理与实现

核心思想:为每个类别训练一个二分类SVM,将“该类”作为正类,其余所有类别作为负类。

  1. 训练过程
    • 对于第 \(k\) 类(\(k = 1, \dots, K\)),构造标签:

\[ y_i^{(k)} = \begin{cases} +1, & \text{if } y_i = k \\ -1, & \text{otherwise} \end{cases} \]

  • 用所有数据训练一个二分类核SVM,得到决策函数:

\[ f_k(\mathbf{x}) = \sum_{i \in SV_k} \alpha_i^{(k)} y_i^{(k)} K(\mathbf{x}_i, \mathbf{x}) + b_k \]

 其中 $ f_k(\mathbf{x}) $ 的符号表示是否属于第 $ k $ 类,其**绝对值大小**反映了置信度。
  1. 决策过程
    • 对于新样本 \(\mathbf{x}\),计算所有 \(K\) 个分类器的决策值 \(f_k(\mathbf{x})\)
    • 两种常见决策规则:
      a) 最大函数值规则:选择决策值最大的类别:

\[ \hat{y} = \arg\max_{k=1,\dots,K} f_k(\mathbf{x}) \]

    该规则直接利用SVM输出(符号表示类别,数值表示到超平面的函数间隔)。
 b) **置信度阈值规则**:若 $ f_k(\mathbf{x}) > 0 $ 的类别不唯一,可进一步比较置信度(例如到超平面的距离)。
  1. 优缺点分析
    • 优点:仅需训练 \(K\) 个分类器,训练成本相对较低。
    • 缺点:当类别数 \(K\) 较大时,每个分类器的正负样本数可能极不均衡(负类样本远多于正类),影响训练效果;且可能存在“拒绝区域”(多个分类器输出为正)。

步骤3:一对一(One-vs-One, OvO)策略的原理与实现

核心思想:为每两个类别组合训练一个二分类SVM,总共训练 \(\binom{K}{2} = \frac{K(K-1)}{2}\) 个分类器。

  1. 训练过程
    • 对于任意两个类别 \(p\)\(q\)\(1 \leq p < q \leq K\)),从数据集中选出所有属于第 \(p\) 类或第 \(q\) 类的样本。
    • 为这些样本构造二分类标签(例如 \(p\) 类标为 \(+1\)\(q\) 类标为 \(-1\)),训练一个二分类核SVM:

\[ f_{pq}(\mathbf{x}) = \sum_{i \in SV_{pq}} \alpha_i^{(pq)} y_i^{(pq)} K(\mathbf{x}_i, \mathbf{x}) + b_{pq} \]

 $ f_{pq}(\mathbf{x}) > 0 $ 表示预测为第 $ p $ 类,否则为第 $ q $ 类。
  1. 决策过程:通常采用投票法(Voting)决策有向无环图(DDAG)

    • 投票法
      a) 初始化一个长度为 \(K\) 的票数数组 \(\text{votes}[k] = 0\)
      b) 对于每个分类器 \(f_{pq}\),如果 \(f_{pq}(\mathbf{x}) > 0\),则 \(\text{votes}[p] \gets \text{votes}[p] + 1\);否则 \(\text{votes}[q] \gets \text{votes}[q] + 1\)
      c) 预测类别为得票最多者:\(\hat{y} = \arg\max_k \text{votes}[k]\)
    • 平票处理:若多个类别票数相同,可进一步根据决策函数值之和或到超平面的平均距离来打破平局。
  2. 优缺点分析

    • 优点:每个分类器只用到两个类别的数据,训练数据更均衡,且通常训练速度更快(每个子集样本较少)。
    • 缺点:需要训练 \(O(K^2)\) 个分类器,当 \(K\) 很大时存储和测试开销大;且投票法可能存在“循环优胜”问题。

步骤4:核支持向量机在多类策略中的优化细节

无论采用OvR还是OvO,核心训练过程均为二分类核SVM。优化时需注意:

  1. 核函数选择:需统一用于所有子分类器。常用核包括:
    • 高斯核(RBF):\(K(\mathbf{x}_i, \mathbf{x}_j) = \exp(-\gamma \|\mathbf{x}_i - \mathbf{x}_j\|^2)\)
    • 多项式核:\(K(\mathbf{x}_i, \mathbf{x}_j) = (\mathbf{x}_i^\top \mathbf{x}_j + c)^d\)
  2. 超参数调优:惩罚系数 \(C\) 和核参数(如RBF的 \(\gamma\))通常通过交叉验证确定。在OvR/OvO中,可对所有子分类器使用相同的超参数,或为每个子问题独立调参(计算开销大)。
  3. 决策值校准:若需概率输出,可对每个二分类SVM的输出进行Platt缩放(拟合sigmoid函数),再组合成多类概率。

步骤5:对比与选择建议

方面 一对多(OvR) 一对一(OvO)
训练分类器数量 \(K\) \(K(K-1)/2\)
每个分类器训练数据 全部样本 仅两个类别的样本
数据均衡性 可能严重不均衡 相对均衡
存储与测试开销 较小(\(K\) 个模型) 较大(\(O(K^2)\) 个模型)
预测速度 需计算 \(K\) 个决策函数 需计算 \(O(K^2)\) 个决策函数,但每个计算量小
适用场景 \(K\) 较大,或各类样本分布相对均匀 \(K\) 较小(通常 < 10),各类样本数均衡

实际应用

  • 许多机器学习库(如scikit-learn)默认使用OvO,因为其训练更快且通常精度更高。
  • \(K\) 很大时,OvR更常用,因其模型更简洁。

总结

多类核支持向量机通过OvR或OvO策略将多类问题分解为多个二分类问题。两种策略在训练复杂度、数据均衡性、预测方式上各有特点。在实际应用中,需根据类别数量、数据分布及计算资源进行选择。理解其原理有助于合理设计多类分类系统,并为后续学习更复杂的结构化输出SVM多类SVM的统一优化框架(如Crammer-Singer方法)打下基础。

基于最大间隔的多类核支持向量机(Multiclass Kernel SVM)的多类问题求解策略:一对一(One-vs-One)与一对多(One-vs-Rest)策略的原理、决策过程与优化 题目描述 支持向量机(SVM)本质上是一种二分类算法。但当面对多类分类问题时(例如类别数 \( K \geq 3 \)),需要将其扩展为多类分类器。本题将详细讲解两种经典的多类SVM扩展策略: 一对多(One-vs-Rest, OvR) 和 一对一(One-vs-One, OvO) ,并深入分析它们在 核支持向量机(Kernel SVM) 中的应用原理、决策过程、优化方法及各自的优缺点。 解题过程 我们假设有 \( K \) 个类别,训练集为 \( \{ (\mathbf{x} i, y_ i) \} {i=1}^N \),其中 \( y_ i \in \{1, 2, \dots, K\} \)。目标是构建一个分类器 \( f(\mathbf{x}): \mathbb{R}^d \to \{1, \dots, K\} \)。 步骤1:回顾核支持向量机(Kernel SVM)的二分类原理 核SVM通过映射 \( \phi(\mathbf{x}) \) 将数据映射到高维特征空间,并在该空间中寻找最优分离超平面: \[ \min_ {\mathbf{w}, b} \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_ {i=1}^N \xi_ i \] \[ \text{s.t.} \quad y_ i (\mathbf{w}^\top \phi(\mathbf{x}_ i) + b) \geq 1 - \xi_ i, \quad \xi_ i \geq 0 \] 通过核技巧,对偶问题仅依赖于核函数 \( K(\mathbf{x}_ i, \mathbf{x}_ j) = \phi(\mathbf{x}_ i)^\top \phi(\mathbf{x} j) \),无需显式计算 \( \phi(\mathbf{x}) \)。最终决策函数为: \[ f(\mathbf{x}) = \operatorname{sign}\left( \sum {i \in SV} \alpha_ i y_ i K(\mathbf{x}_ i, \mathbf{x}) + b \right) \] 其中 \( SV \) 表示支持向量。 步骤2:一对多(One-vs-Rest, OvR)策略的原理与实现 核心思想 :为每个类别训练一个二分类SVM,将“该类”作为正类,其余所有类别作为负类。 训练过程 : 对于第 \( k \) 类(\( k = 1, \dots, K \)),构造标签: \[ y_ i^{(k)} = \begin{cases} +1, & \text{if } y_ i = k \\ -1, & \text{otherwise} \end{cases} \] 用所有数据训练一个二分类核SVM,得到决策函数: \[ f_ k(\mathbf{x}) = \sum_ {i \in SV_ k} \alpha_ i^{(k)} y_ i^{(k)} K(\mathbf{x}_ i, \mathbf{x}) + b_ k \] 其中 \( f_ k(\mathbf{x}) \) 的符号表示是否属于第 \( k \) 类,其 绝对值大小 反映了置信度。 决策过程 : 对于新样本 \( \mathbf{x} \),计算所有 \( K \) 个分类器的决策值 \( f_ k(\mathbf{x}) \)。 两种常见决策规则: a) 最大函数值规则 :选择决策值最大的类别: \[ \hat{y} = \arg\max_ {k=1,\dots,K} f_ k(\mathbf{x}) \] 该规则直接利用SVM输出(符号表示类别,数值表示到超平面的函数间隔)。 b) 置信度阈值规则 :若 \( f_ k(\mathbf{x}) > 0 \) 的类别不唯一,可进一步比较置信度(例如到超平面的距离)。 优缺点分析 : 优点:仅需训练 \( K \) 个分类器,训练成本相对较低。 缺点:当类别数 \( K \) 较大时,每个分类器的正负样本数可能极不均衡(负类样本远多于正类),影响训练效果;且可能存在“拒绝区域”(多个分类器输出为正)。 步骤3:一对一(One-vs-One, OvO)策略的原理与实现 核心思想 :为每两个类别组合训练一个二分类SVM,总共训练 \( \binom{K}{2} = \frac{K(K-1)}{2} \) 个分类器。 训练过程 : 对于任意两个类别 \( p \) 和 \( q \)(\( 1 \leq p < q \leq K \)),从数据集中选出所有属于第 \( p \) 类或第 \( q \) 类的样本。 为这些样本构造二分类标签(例如 \( p \) 类标为 \( +1 \),\( q \) 类标为 \( -1 \)),训练一个二分类核SVM: \[ f_ {pq}(\mathbf{x}) = \sum_ {i \in SV_ {pq}} \alpha_ i^{(pq)} y_ i^{(pq)} K(\mathbf{x} i, \mathbf{x}) + b {pq} \] \( f_ {pq}(\mathbf{x}) > 0 \) 表示预测为第 \( p \) 类,否则为第 \( q \) 类。 决策过程 :通常采用 投票法(Voting) 或 决策有向无环图(DDAG) 。 投票法 : a) 初始化一个长度为 \( K \) 的票数数组 \( \text{votes}[ k ] = 0 \)。 b) 对于每个分类器 \( f_ {pq} \),如果 \( f_ {pq}(\mathbf{x}) > 0 \),则 \( \text{votes}[ p] \gets \text{votes}[ p] + 1 \);否则 \( \text{votes}[ q] \gets \text{votes}[ q ] + 1 \)。 c) 预测类别为得票最多者:\( \hat{y} = \arg\max_ k \text{votes}[ k ] \)。 平票处理 :若多个类别票数相同,可进一步根据决策函数值之和或到超平面的平均距离来打破平局。 优缺点分析 : 优点:每个分类器只用到两个类别的数据,训练数据更均衡,且通常训练速度更快(每个子集样本较少)。 缺点:需要训练 \( O(K^2) \) 个分类器,当 \( K \) 很大时存储和测试开销大;且投票法可能存在“循环优胜”问题。 步骤4:核支持向量机在多类策略中的优化细节 无论采用OvR还是OvO,核心训练过程均为二分类核SVM。优化时需注意: 核函数选择 :需统一用于所有子分类器。常用核包括: 高斯核(RBF):\( K(\mathbf{x}_ i, \mathbf{x}_ j) = \exp(-\gamma \|\mathbf{x}_ i - \mathbf{x}_ j\|^2) \) 多项式核:\( K(\mathbf{x}_ i, \mathbf{x}_ j) = (\mathbf{x}_ i^\top \mathbf{x}_ j + c)^d \) 超参数调优 :惩罚系数 \( C \) 和核参数(如RBF的 \( \gamma \))通常通过交叉验证确定。在OvR/OvO中,可对所有子分类器使用相同的超参数,或为每个子问题独立调参(计算开销大)。 决策值校准 :若需概率输出,可对每个二分类SVM的输出进行Platt缩放(拟合sigmoid函数),再组合成多类概率。 步骤5:对比与选择建议 | 方面 | 一对多(OvR) | 一对一(OvO) | |--------------------|----------------------------------------|----------------------------------------| | 训练分类器数量 | \( K \) | \( K(K-1)/2 \) | | 每个分类器训练数据 | 全部样本 | 仅两个类别的样本 | | 数据均衡性 | 可能严重不均衡 | 相对均衡 | | 存储与测试开销 | 较小(\( K \) 个模型) | 较大(\( O(K^2) \) 个模型) | | 预测速度 | 需计算 \( K \) 个决策函数 | 需计算 \( O(K^2) \) 个决策函数,但每个计算量小 | | 适用场景 | \( K \) 较大,或各类样本分布相对均匀 | \( K \) 较小(通常 < 10),各类样本数均衡 | 实际应用 : 许多机器学习库(如scikit-learn)默认使用OvO,因为其训练更快且通常精度更高。 当 \( K \) 很大时,OvR更常用,因其模型更简洁。 总结 多类核支持向量机通过OvR或OvO策略将多类问题分解为多个二分类问题。两种策略在训练复杂度、数据均衡性、预测方式上各有特点。在实际应用中,需根据类别数量、数据分布及计算资源进行选择。理解其原理有助于合理设计多类分类系统,并为后续学习更复杂的 结构化输出SVM 或 多类SVM的统一优化框架 (如Crammer-Singer方法)打下基础。