西瓜书+南瓜书 第6章 支持向量机

98 阅读1分钟

1. 支持向量机概述

支持向量机是一种监督学习算法,主要用于分类和回归分析。它在解决小样本、非线性以及高维数问题上表现出色。

2. 基本概念

2.1 间隔(Margin)

间隔是数据点到决策边界(超平面)的距离。间隔越大,模型的泛化能力通常越强。

2.2 函数间隔与几何间隔

  • 函数间隔:超平面ww关于样本点(xi,yi)(x_i, y_i)的函数间隔为 γ^=yi(wxi+b)\hat{\gamma} = y_i(w \cdot x_i + b)
  • 几何间隔:超平面wx+b=0w'x + b = 0的几何间隔定义为 γ=yi(wxi+b)w\gamma = \frac{y_i(w' \cdot x_i + b)}{||w||}

3. 最大间隔与支持向量

  • 最大间隔分类器:目标是找到能够最大化几何间隔的超平面。
  • 支持向量:满足 yi(wxi+b)=1y_i(w \cdot x_i + b) = 1 的样本点,它们是距离超平面最近的点。

4. 最优化问题

4.1 原始问题

最大化几何间隔可以转化为最小化 12w2\frac{1}{2}||w||^2 ,约束条件为 yi(wxi+b)1y_i(w \cdot x_i + b) \geq 1

4.2 对偶问题

通过拉格朗日乘子法,将原始问题转化为对偶问题:

maxα(minw,bL(w,b,α))\max_{\alpha} \left( \min_{w, b} L(w, b, \alpha) \right)

其中,拉格朗日函数

L(w,b,α)=12w2αiyi(wxi+b)L(w, b, \alpha) = \frac{1}{2}||w||^2 - \sum \alpha_i y_i (w \cdot x_i + b)

5. 核函数

5.1 引入核函数

核函数允许我们在高维空间中处理线性不可分的数据,而无需显式地映射到高维空间。

5.2 常用核函数

  • 线性核: K(xi,xj)=xixjK(x_i, x_j) = x_i \cdot x_j
  • 多项式核: K(xi,xj)=(xixj+c)dK(x_i, x_j) = (x_i \cdot x_j + c)^d
  • 高斯核(径向基函数): K(xi,xj)=exp(xixj22σ2)K(x_i, x_j) = \exp\left(-\frac{||x_i - x_j||^2}{2\sigma^2}\right)
  • Sigmoid核: K(xi,xj)=tanh(kxixj+c)K(x_i, x_j) = \tanh(kx_i \cdot x_j + c)

6. 软间隔与支持向量回归

6.1 软间隔

为了处理数据中的噪声,引入软间隔的概念,允许一些数据点违反间隔的约束。

6.2 优化问题

软间隔SVM的优化问题引入松弛变量(\xi_i),目标函数变为: minw,b,ξ(12w2+Cξi)\min_{w, b, \xi} \left( \frac{1}{2}||w||^2 + C \sum \xi_i \right) 约束条件为 yi(wxi+b)1ξi,ξi0y_i(w \cdot x_i + b) \geq 1 - \xi_i, \quad \xi_i \geq 0

7. SMO算法

序列最小优化算法(SMO)是一种用于求解SVM对偶问题的有效算法,它通过每次只优化两个拉格朗日乘子来简化问题。

参考文献: