支持向量机

一、基础理论

  1. 核心思想

    • 最大间隔分类器:寻找能最大化类别间隔的超平面,提升模型泛化能力。
    • 支持向量:离超平面最近的样本点,决定超平面位置。
  2. 线性可分情况(硬间隔 SVM)

    • 优化目标(\min_{\mathbf{w}, b} \frac{1}{2}\|\mathbf{w}\|^2 \quad \text{s.t.} \quad y_i(\mathbf{w}^\top \mathbf{x}_i + b) \geq 1, \quad i=1,2,\dots,n)
    • 对偶问题:通过拉格朗日乘数法转化为对偶形式,引入核函数处理非线性问题。
  3. 线性不可分情况(软间隔 SVM)

    • 松弛变量:允许部分样本违反约束,引入惩罚参数 C 平衡间隔与分类错误。
    • 优化目标(\min_{\mathbf{w}, b, \xi_i} \frac{1}{2}\|\mathbf{w}\|^2 + C\sum_{i=1}^n \xi_i \quad \text{s.t.} \quad y_i(\mathbf{w}^\top \mathbf{x}_i + b) \geq 1 - \xi_i, \quad \xi_i \geq 0)

二、常见的核函数 

1. 线性核(Linear Kernel)

  • 表达式K(x_i, x_j) = x_i^\top x_j
  • 特点:直接计算原始特征的内积,无映射。
  • 适用场景:线性可分数据(如文本分类、高维稀疏数据)。
  • 优势:计算高效(复杂度 O(n)),无需调参。
  • 局限性:无法处理非线性问题。

2. 多项式核(Polynomial Kernel)

  • 表达式(K(x_i, x_j) = (\gamma x_i^\top x_j + r)^d),其中,(\gamma > 0),(r \geq 0),(d \geq 1)为多项式次数。
  • 特点:通过多项式展开映射到高维空间。
  • 适用场景:特征工程中的非线性关系(如金融风控、基因数据分析)。
  • 优势:可捕捉特征间的交互作用。
  • 局限性:计算复杂度高O(n^d),对噪声敏感,需谨慎选择 d。

3. 高斯核(RBF 核,Radial Basis Function Kernel)

  • 表达式K(x_i, x_j) = \exp\left(-\gamma \|x_i - x_j\|^2\right),其中 (\gamma > 0)
  • 特点:无限维映射,可处理任意非线性关系。
  • 适用场景:低维密集数据(如图像识别、生物信息学)。
  • 优势:万能核,灵活性高,是工业界默认选择。
  • 局限性:参数 \gamma 对模型影响大(\gamma过大会导致过拟合)。

4. Sigmoid 核

  • 表达式K(x_i, x_j) = \tanh(\gamma x_i^\top x_j + r) 其中 (\gamma > 0),(r \geq 0)
  • 特点:形式类似神经网络的激活函数。
  • 适用场景:近似神经网络模型(如简单模式识别)。
  • 优势:计算效率较高。
  • 局限性:需严格调参(如 \gamma 和 r),否则可能退化为线性核。

5. 拉普拉斯核(Laplacian Kernel)

  • 表达式K(x_i, x_j) = \exp\left(-\gamma \|x_i - x_j\|_1\right),其中 (\gamma > 0)
  • 特点:基于 L1 范数的距离(L1 范数是向量中所有元素绝对值的和,数学表达式为:\|\mathbf{x}\|_1 = \sum_{i=1}^n |x_i|),对噪声鲁棒性更强。
  • 适用场景:特征维度差异较大的数据(如时间序列分析)。

6. 字符串核(String Kernel)

  • 表达式: 计算字符串间的相似性(如子序列匹配)。
  • 特点:专门处理文本、DNA 序列等非结构化数据。
  • 适用场景:自然语言处理(NLP)、生物序列分析。

7. 自定义核函数

  • 定义:根据领域知识设计满足 Mercer 条件的核函数。
  • 示例:图核(Graph Kernel)、直方图核(Histogram Intersection Kernel)。
  • 适用场景:特定领域问题(如社交网络分析、图像检索)。

核函数选择指南

  1. 数据特征
    • 高维稀疏数据(如文本)→ 线性核
    • 低维密集数据(如图像)→ RBF 核
    • 特征交互复杂 → 多项式核
  2. 计算资源
    • 线性核和 Sigmoid 核通常比 RBF 核更快。
  3. 过拟合风险
    • RBF 核需谨慎调整\gamma,避免过拟合。
  4. 领域知识
    • 字符串数据 → 字符串核;生物序列 → 特定生物核函数

典型工具与参数调优

  • LIBSVM:支持线性、多项式、RBF、Sigmoid 核,提供交叉验证调参。
  • scikit-learn:通过 SVC(kernel=...) 实现,参数如 gamma(RBF 核)、degree(多项式核)。
  • 调参建议
    • 使用网格搜索或贝叶斯优化寻找最优参数。
    • 优先尝试线性核和 RBF 核,再考虑复杂核函数。

总结:核函数的选择直接影响 SVM 的性能,需结合数据特性、计算成本和领域知识综合决策。实验表明,RBF 核在多数场景下表现稳健,但线性核在高维稀疏数据中往往更高效。

三、Mercer条件

1. Mercer 条件的定义

核函数 K(x, y) 满足 Mercer 条件,当且仅当:

  • 对称性K(x, y) = K(y, x)对所有 (x, y) 成立。
  • 半正定性:对于任意有限样本集合 \{x_1, x_2, \dots, x_n\},对应的 Gram 矩阵 G 是半正定的,即: (G_{i,j} = K(x_i, x_j) \quad \Rightarrow \quad \sum_{i=1}^n \sum_{j=1}^n a_i a_j K(x_i, x_j) \geq 0 \quad \forall a_i \in \mathbb{R}

2. Mercer 定理

  • 核心结论:若核函数 K(x, y)满足 Mercer 条件,则存在一个特征映射\phi,使得: K(x, y) = \phi(x)^\top \phi(y)即核函数等价于高维特征空间中的内积。
  • 意义:确保 SVM 的优化问题(最大化间隔)是凸二次规划问题,存在唯一最优解。

3. 验证 Mercer 条件的方法

  • 直接验证
    1. 对称性:检查 K(x, y) = K(y, x)
    2. 半正定性
      • 对任意有限样本集合,计算 Gram 矩阵并验证其所有特征值非负。
      • 或通过积分形式验证(若K(x, y)是连续函数): \int K(x, y) f(x) f(y) \, dx dy \geq 0 \quad \forall f \in L^2(\mathcal{X})
  • 间接方法
    • 使用已知满足 Mercer 条件的核函数(如线性核、RBF 核)。
    • 通过 Mercer 定理构造新核函数(如核函数的乘积、线性组合)。

4. 常见核函数的 Mercer 条件

核函数是否满足 Mercer 条件说明
线性核直接对应原始特征的内积。
多项式核当 \gamma x_i^\top x_j + r \geq 0 时成立(通常默认参数满足)。
RBF 核无限维映射,满足 Mercer 条件。
Sigmoid 核不一定仅在特定参数范围(如 \gamma \leq 0.5)下成立。
拉普拉斯核基于 L1 范数的距离,满足条件。
自定义核函数需验证必须满足对称性和半正定性。

5. 违反 Mercer 条件的后果

  • 非凸优化问题:Gram 矩阵非半正定,导致 SVM 的对偶问题(最大化间隔)可能出现局部最优解。
  • 数值不稳定:计算 Gram 矩阵时可能出现负特征值,引发奇异矩阵或无法求解。

6. 实际应用建议

  1. 优先选择标准核函数:如线性核、RBF 核,避免手动构造核函数。
  2. 参数调优:对 Sigmoid 核等需谨慎选择参数,确保满足 Mercer 条件。
  3. 验证 Gram 矩阵
    • 使用小规模数据测试 Gram 矩阵的特征值。
    • 通过交叉验证评估模型稳定性。

总结

Mercer 条件是核函数的理论基石,确保核方法的数学严谨性和优化问题的可解性。实际应用中,选择满足 Mercer 条件的核函数(如 RBF 核)可避免理论风险,而自定义核函数需严格验证对称性和半正定性。

四、优化算法

  1. 对偶问题与拉格朗日乘数法

    • 将原始问题转化为对偶形式,引入拉格朗日乘子 \alpha_i,最终优化目标为:\max_{\alpha_i} \sum_{i=1}^n \alpha_i - \frac{1}{2}\sum_{i,j=1}^n \alpha_i \alpha_j y_i y_j K(\mathbf{x}_i, \mathbf{x}_j)
    • 约束条件:\sum_{i=1}^n \alpha_i y_i = 0, 0 \leq \alpha_i \leq C
  2. 序列最小优化(SMO 算法)

    • 核心思想:每次优化两个变量,其余变量固定,通过解析求解快速迭代。
    • 步骤
      1. 选择违反 KKT 条件的样本对 (\alpha_i, \alpha_j)
      2. 计算 \alpha_j的更新范围,更新后调整 \alpha_i
      3. 更新 b 和误差缓存。
    • 优势:避免存储大型矩阵,适合大规模数据。

五、扩展应用

  1. 多分类 SVM

    • 一对多(One-vs-Rest):训练 k 个二分类器,预测时取最大得分类别。
    • 一对一(One-vs-One):训练 k(k-1)/2 个二分类器,投票决定类别。
  2. 支持向量回归(SVR)

    • 目标:拟合回归函数 f(\mathbf{x}) = \mathbf{w}^\top \phi(\mathbf{x}) + b,允许误差在\epsilon 范围内。
    • 优化目标\\min_{\mathbf{w}, b} \frac{1}{2}\|\mathbf{w}\|^2 + C\sum_{i=1}^n (\xi_i + \xi_i^*) \quad \text{s.t.} \quad f(\mathbf{x}_i) - y_i \leq \epsilon + \xi_i, \quad y_i - f(\mathbf{x}_i) \leq \epsilon + \xi_i^*

六、优缺点与适用场景

  1. 优点

    • 适合高维数据,避免维度灾难。
    • 核技巧灵活处理非线性问题。
    • 理论基础扎实,泛化能力强。
  2. 缺点

    • 对大规模数据计算效率较低(SMO 改进后有所缓解)。
    • 参数 C 和核函数参数需调优。
  3. 适用场景

    • 小样本高维数据(如文本分类、基因表达分析)。
    • 数据分布复杂但特征可分性较好的场景。

七、关键总结

  • 核心公式:最大间隔优化、对偶问题、核函数选择。
  • 理论保障:Mercer 条件确保核函数有效性。
  • 算法核心:SMO 算法高效求解对偶问题。
  • 扩展方向:多分类、回归、半监督学习(如直推式 SVM)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值