本文介绍支持向量机(SVM)的理论推导。
一、SVM 的基本思想
SVM 的目标是找到一个最优超平面,将样本分为不同的类别,并最大化类别间的间隔。
1. 线性可分情况下:
在特征空间中找到一个超平面,使得:
- 样本之间的分类间隔(margin)最大。
- 分类误差最小。
超平面可以表示为:
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0
其中:
- w 是法向量,决定了超平面的方向。
- b 是偏置,决定了超平面到原点的距离。
对于任意样本
(
x
i
,
y
i
)
(x_i ,y_i)
(xi,yi),其中
y
i
y_i
yi ∈{−1,1} 表示类别标签,超平面需要满足:
y
i
(
w
T
x
i
+
b
)
≥
1
y_i(w^Tx_i + b) ≥ 1
yi(wTxi+b)≥1
1. 优化目标:
最大化间隔(margin)等价于最小化
1
2
∥
w
⃗
∥
2
\frac{1}{2} \|\vec{w}\|^2
21∥w∥2:
min
w
,
b
1
2
∥
w
⃗
∥
2
\min\limits_{w,b} \frac{1}{2} \|\vec{w}\|^2
w,bmin21∥w∥2
约束条件:
y
i
(
w
T
x
i
+
b
)
>
1
,
i
=
1
,
2
,
…
,
n
y_i(w^T x_i + b) \gt 1, i = 1, 2, \dots, n
yi(wTxi+b)>1,i=1,2,…,n
二、线性不可分情况
在实际问题中,数据通常线性不可分,此时需要引入:
1. 松弛变量 ξ i ξ_i ξi:
- 允许部分样本点违反约束条件。
- 目标函数变为:
min w , b , ξ 1 2 ∥ w ⃗ ∥ 2 + C ∑ i = 1 n ξ i \min\limits_{w,b,ξ} \frac{1}{2} \|\vec{w}\|^2 +C\sum\limits_{i=1}^n ξ_i w,b,ξmin21∥w∥2+Ci=1∑nξi
其中 C 是惩罚参数,控制误差与间隔的权衡。
2. 核函数:
- 将低维数据映射到高维特征空间,使其线性可分。
- 核函数定义为:
K ( x i , x j ) = ϕ ( x i ) ⋅ ϕ ( x j ) K(x_i, x_j) = ϕ(x_i) \cdot ϕ(x_j) K(xi,xj)=ϕ(xi)⋅ϕ(xj)
常用核函数包括: - 线性核: K ( x i , x j ) = x i ⋅ x j K(x_i, x_j) = x_i \cdot x_j K(xi,xj)=xi⋅xj
- 多项式核: K ( x i , x j ) = ( x i ⋅ x j + c ) d K(x_i, x_j) = (x_i \cdot x_j + c)^d K(xi,xj)=(xi⋅xj+c)d
- 高斯核(RBF 核): K ( x i , x j ) = e x p ( − ∥ x i − x j ∥ 2 / ( 2 σ 2 ) ) K(x_i, x_j) = exp(−∥x_i − x_j ∥^2 /(2σ^2)) K(xi,xj)=exp(−∥xi−xj∥2/(2σ2))
- Sigmoid 核: K ( x i , x j ) = t a n h ( α x i ⋅ x j + c ) K(x_i, x_j) = tanh(αx_i ⋅ x_j +c) K(xi,xj)=tanh(αxi⋅xj+c)
三、SVM 的优化过程
SVM 的优化问题通常通过 拉格朗日对偶问题 解决:
1. 原始问题:
min
w
,
b
,
ξ
1
2
∥
w
⃗
∥
2
+
C
∑
i
=
1
n
ξ
i
s
.
t
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
,
ξ
i
≥
0
,
i
=
1
,
2
,
…
,
n
\begin{aligned} \min\limits_{w,b,ξ} \quad & \frac{1}{2} \|\vec{w}\|^2 +C\sum\limits_{i=1}^n ξ_i \\ {s.t} \quad & y_i (w^T x_i + b) ≥ 1−ξ_i ,\ & ξ_i ≥ 0, \quad & i = 1, 2, \ldots, n \end{aligned}
w,b,ξmins.t21∥w∥2+Ci=1∑nξiyi(wTxi