机器学习算法(三):基于支持向量机的分类预测
间隔与支持向量
在处理二分类问题时(y={-1,1}),对于给定的训练集我们为了将其分类,很自然的想法就是在样本空间上找到一个划分超平面,好比在空间上竖起一块宽无限小的挡板,一边都是样本-1,而另一边则都是样本1。
划分超平面可以通过线性方程来描述:
ω
T
x
+
b
=
0
\omega^Tx+b=0
ωTx+b=0
但是超平面的位置又该如何确定,紧贴样本-1,远离样本1也可以将两样本划分开,但是这样泛化能力就会变差,所以我们将超平面的位置确定在两类训练样本的正中间。
所以样本空间中任一点x到超平面(
ω
\omega
ω,b)的距离可写为
r
=
∣
ω
T
x
+
b
∣
∣
∣
ω
∣
∣
r=\frac{|\omega^Tx+b|}{||\omega||}
r=∣∣ω∣∣∣ωTx+b∣
∣
∣
ω
∣
∣
=
ω
1
2
+
ω
2
2
+
ω
3
2
.
.
.
.
.
ω
n
2
||\omega||=\sqrt{\omega_1^2+\omega_2^2+\omega_3^2.....\omega_n^2}
∣∣ω∣∣=ω12+ω22+ω32.....ωn2
我们将两个异类支持向量到超平面的距离之和为
γ
=
2
∣
∣
ω
∣
∣
\gamma=\frac{2}{||\omega||}
γ=∣∣ω∣∣2
它被称为“间隔”(margin)。
所以目标是:
M
a
x
ω
,
b
2
∣
∣
ω
∣
∣
Max_{\omega,b} \frac{2}{||\omega||}
Maxω,b∣∣ω∣∣2
s
.
t
.
y
i
(
ω
T
x
i
+
b
)
>
=
1
,
i
=
1
,
2
,
.
.
.
,
m
.
s.t. y_i(\omega^Tx_i+b)>=1,i=1,2,...,m.
s.t.yi(ωTxi+b)>=1,i=1,2,...,m.
即
M
i
n
ω
,
b
1
2
∣
∣
ω
∣
∣
2
Min_{\omega,b}\frac{1}{2}||\omega||^2
Minω,b21∣∣ω∣∣2