人工智能学习笔记 - 机器学习算法 - 监督学习 - 支持向量机(SVM)与核方法

22 阅读1分钟

人工智能学习笔记 - 机器学习算法 - 监督学习 - 支持向量机(SVM)与核方法

支持向量机(Support Vector Machine, SVM)是一类基于几何间隔最大化思想的监督学习算法,广泛用于分类与回归任务。SVM 的核心优势在于理论严谨、泛化能力强,并且可以通过核方法处理非线性问题。


线性可分情况下的 SVM

线性分类模型

对于二分类问题,SVM 使用线性函数作为分类超平面:

f(x)=wx+bf(x) = \mathbf{w}^\top \mathbf{x} + b

预测规则为:

y^=sign(f(x))\hat{y} = \text{sign}(f(x))

其中:

  • w\mathbf{w}:法向量,决定超平面的方向
  • bb:偏置项,决定超平面的位置

最大间隔(Maximum Margin)

几何间隔

对于样本 (xi,yi)(\mathbf{x}_i, y_i),其到分类超平面的几何间隔定义为:

γi=yi(wxi+b)w\gamma_i = \frac{y_i (\mathbf{w}^\top \mathbf{x}_i + b)}{\|\mathbf{w}\|}

SVM 的目标是 最大化最小几何间隔

maxw,b  miniγi\max_{\mathbf{w}, b} \; \min_i \gamma_i

等价优化问题(硬间隔)

在样本完全线性可分的情况下,上述问题等价为:

minw,b  12w2\min_{\mathbf{w}, b} \; \frac{1}{2} \|\mathbf{w}\|^2

约束条件为:

yi(wxi+b)1,i=1,,ny_i (\mathbf{w}^\top \mathbf{x}_i + b) \ge 1,\quad i=1,\dots,n

解释:

  • w2\|\mathbf{w}\|^2 越小,间隔越大
  • 约束确保所有样本被正确分类且距离边界至少为 1

支持向量(Support Vectors)

满足以下条件的样本称为支持向量:

yi(wxi+b)=1y_i (\mathbf{w}^\top \mathbf{x}_i + b) = 1

特点:

  • 仅支持向量决定最终超平面
  • 非支持向量对模型无影响
  • 提升模型的鲁棒性

软间隔 SVM(Soft Margin)

引入松弛变量

现实数据通常不可完全线性可分,引入松弛变量 ξi\xi_i

yi(wxi+b)1ξi,ξi0y_i (\mathbf{w}^\top \mathbf{x}_i + b) \ge 1 - \xi_i,\quad \xi_i \ge 0

带正则项的优化目标

minw,b,ξ  12w2+Ci=1nξi\min_{\mathbf{w}, b, \xi} \; \frac{1}{2}\|\mathbf{w}\|^2 + C \sum_{i=1}^{n} \xi_i

其中:

  • 12w2\frac{1}{2}\|\mathbf{w}\|^2:控制模型复杂度(间隔最大化)
  • ξi\sum \xi_i:衡量误分类程度
  • CC:惩罚系数,平衡“间隔大小”和“分类错误”

参数 C 的作用

  • CC 大:
    • 更关注训练误差
    • 间隔变小
    • 容易过拟合
  • CC 小:
    • 允许更多误分类
    • 间隔变大
    • 泛化能力更强

核方法(Kernel Trick)

非线性问题的挑战

线性 SVM 无法处理非线性可分数据,例如“同心圆”结构。

解决思路:

  • 将数据映射到高维空间
  • 在高维空间中使用线性分类器

映射函数:

ϕ:xϕ(x)\phi: \mathbf{x} \rightarrow \phi(\mathbf{x})

核函数的思想

在对偶问题中,SVM 只依赖样本内积:

ϕ(xi),ϕ(xj)\langle \phi(\mathbf{x}_i), \phi(\mathbf{x}_j) \rangle

定义核函数:

K(xi,xj)=ϕ(xi)ϕ(xj)K(\mathbf{x}_i, \mathbf{x}_j) = \phi(\mathbf{x}_i)^\top \phi(\mathbf{x}_j)

无需显式计算 ϕ(x)\phi(\mathbf{x}),即可完成高维计算。


常见核函数

线性核

K(x,z)=xzK(\mathbf{x}, \mathbf{z}) = \mathbf{x}^\top \mathbf{z}
  • 等价于线性 SVM
  • 适用于高维稀疏特征(如文本)

多项式核(Polynomial Kernel)

K(x,z)=(xz+c)dK(\mathbf{x}, \mathbf{z}) = (\mathbf{x}^\top \mathbf{z} + c)^d

参数含义:

  • dd:多项式阶数
  • cc:常数项

特点:

  • 可建模特征交互
  • 高阶时易过拟合

RBF 核(高斯核)

K(x,z)=exp(xz22σ2)K(\mathbf{x}, \mathbf{z}) = \exp\left(-\frac{\|\mathbf{x} - \mathbf{z}\|^2}{2\sigma^2}\right)

或等价写法:

K(x,z)=exp(γxz2)K(\mathbf{x}, \mathbf{z}) = \exp(-\gamma \|\mathbf{x} - \mathbf{z}\|^2)

其中:

γ=12σ2\gamma = \frac{1}{2\sigma^2}

特点:

  • 局部性强
  • 表达能力极强
  • 是最常用的核函数

核参数与模型行为

  • γ\gamma 大:
    • 决策边界更复杂
    • 易过拟合
  • γ\gamma 小:
    • 决策边界更平滑
    • 易欠拟合