目录
超平面
要了解SVM是个什么东西,首先介绍下超平面的概念
可以用一个公式来表示:
w
T
x
+
b
=
0
w^{T}x + b = 0
wTx+b=0 我们将其记为(
w
w
w,
b
b
b)
其中
w
w
w是列向量,
b
b
b是常数,两者一起确定一个超平面
很简单理解这个公式,想象下:
二维平面中,它是一条直线
w
1
x
+
w
2
y
+
b
=
0
w_{1}x + w_{2}y +b =0
w1x+w2y+b=0
三维空间中,它是一个二维平面
w
1
x
+
w
2
y
+
w
3
z
+
b
=
0
w_{1}x +w_{2}y +w_{3}z +b =0
w1x+w2y+w3z+b=0
同理,可以推广到n维空间中,那它可以看成一个n-1维的平面
自然的,我们可以知道一个超平面可以将空间划分为两部分,
w
T
x
+
b
≥
0
w^{T}x + b \geq 0
wTx+b≥0 及
w
T
x
+
b
<
0
w^{T}x + b < 0
wTx+b<0
我们的目的就是要找到这样一个最佳的平面,对样本空间进行划分,当前叙述的仅是针对二分类问题
样本空间中任意点到超平面的距离: r = ∣ w T x + b ∣ ∥ w ∥ r = \frac{\left| w^{T}x + b \right|} {\left\| w \right\|} r=∥w∥∣wTx+b∣
支持向量
对于二分类问题,我们假定样本集合为 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } , y i ∈ { − 1 , + 1 } D=\left \{ (x_{1}, y_{1}), (x_{2}, y_{2}),...,(x_{m}, y_{m}) \right \},y_{i}\in \{-1, +1\} D={(x1,y1),(x2,y2),...,(xm,ym)},yi∈{−1,+1}
并且超平面能够对所有样本正确分类:
w
T
x
i
+
b
<
0
w^{T}x_{i} + b < 0
wTxi+b<0时
y
i
=
−
1
y_{i}=-1
yi=−1,
w
T
x
i
+
b
>
0
w^{T}x_{i} + b > 0
wTxi+b>0时
y
i
=
+
1
y_{i}=+1
yi=+1
对于任意一个超平面
w
T
x
i
+
b
=
0
w^{T}x_{i} + b = 0
wTxi+b=0, 总能变换成
w
T
x
i
+
b
=
±
1
w^{T}x_{i} + b = \pm1
wTxi+b=±1的形式
则可以将分类写成:
w
T
x
i
+
b
≥
+
1
w^{T}x_{i} + b \geq +1
wTxi+b≥+1时
y
i
=
+
1
y_{i}=+1
yi=+1,
w
T
x
i
+
b
≤
−
1
w^{T}x_{i} + b \leq -1
wTxi+b≤−1时
y
i
=
−
1
y_{i}=-1
yi=−1
统一到一条公式里
y
i
(
w
T
x
i
+
b
)
≥
1
y_{i}(w^{T}x_{i} + b) \geq 1
yi(wTxi+b)≥1
距离最近的样本点能使等号成立,这些使等号成立的点也就叫做“支持向量”
可以看到,两个异类支持向量到超平面的距离之和,或者说支持向量到超平面的距离的两倍,即
2
∥
w
∥
\frac{2}{\left\|w\right\|}
∥w∥2,称它为“间隔”。因为支持向量带入计算距离的公式时有
w
T
x
i
+
b
=
±
1
w^{T}x_{i} + b = \pm1
wTxi+b=±1,所以可直接得出“间隔”为
2
∥
w
∥
\frac{2}{\left\|w\right\|}
∥w∥2
图源自百度百科
我们的最终目的就是要找到使得“间隔”最大的时候的参数
w
w
w和
b
b
b
m
a
x
2
∣
w
∣
max \ \ \frac{2}{\left|w\right|}
max ∣w∣2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
s.t. \ \ y_{i}(w^{T}x_{i} + b) \geq 1
s.t. yi(wTxi+b)≥1
等价的
m
i
n
1
2
∥
w
∥
2
min \ \ \frac{1}{2}\left\|w\right\|^{2}
min 21∥w∥2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
s.t. \ \ y_{i}(w^{T}x_{i} + b) \geq 1
s.t. yi(wTxi+b)≥1
关于这个问题的求解,需要凸优化的理论,有兴趣可以去看看
并且有很多高效的算法,比较经典的有SMO