一、什么是支持向量
支持向量机是一种二分类模型,距离超平面最近的且满足一定条件的几个训练样本点被称为支持向量。例如图中通过一条直线将五角星和圆分开,通过直线两侧的虚线的三个样本即为支持向量。
二、支持向量机的推导
给定线性可分训练数据集,通过间隔最大化得到的分离超平面为:
y
(
x
)
=
w
T
ϕ
(
x
)
+
b
y(x)=w^T\phi(x)+b
y(x)=wTϕ(x)+b
目标函数为:
a
r
g
w
,
b
m
a
x
1
∣
∣
w
∣
∣
m
i
n
[
y
i
(
w
T
ϕ
(
x
i
)
+
b
)
]
arg_{w,b}max{\frac{1}{||w||}min[y_i(w^T\phi(x_i)+b)]}
argw,bmax∣∣w∣∣1min[yi(wTϕ(xi)+b)],其中,
y
(
x
i
)
>
0
y(x_i)>0
y(xi)>0时,
y
i
=
1
y_i=1
yi=1,
y
(
x
i
)
<
0
y(x_i)<0
y(xi)<0时,
y
i
=
−
1
y_i=-1
yi=−1。在
y
i
(
w
T
ϕ
(
x
i
)
+
b
)
⩾
0
y_i(w^T\phi(x_i)+b)\geqslant0
yi(wTϕ(xi)+b)⩾0的约束条件下,目标函数可转化为
a
r
g
w
.
b
1
∣
∣
w
∣
∣
arg_{w.b}\frac{1}{||w||}
argw.b∣∣w∣∣1,进一步转化为
m
i
n
w
,
b
1
2
∣
∣
w
∣
∣
2
min_{w,b}\frac{1}{2}||w||^2
minw,b21∣∣w∣∣2。
构建拉格朗日函数:
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
−
∑
i
=
1
n
α
i
(
y
i
(
w
T
ϕ
(
x
i
)
+
b
)
−
1
)
L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^n\alpha_i(y_i(w^T\phi(x_i)+b)-1)
L(w,b,α)=21∣∣w∣∣2−∑i=1nαi(yi(wTϕ(xi)+b)−1)
求解L对w和b分别求偏导,得到如下红框中的表达式。代入拉格朗日函数得到下图右侧推导过程。