支持向量机
1 线性可分支持向量机
线性可分支持向量机和线性支持向量机假设输入空间与特征空间为一一对应关系,并将输入空间中的输入映射为特征空间中的特征向量。非线性支持向量机利用一个从输入空间到特征空间的非线性映射将输入映射为特征向量,所以输入都是由输入空间到特征空间,支持向量机的学习是在特征空间进行的。
假设数据集
T
=
{
(
x
1
,
y
1
)
,
.
.
.
.
.
,
(
x
N
,
y
N
)
}
,
x
i
∈
χ
=
R
n
,
y
i
∈
ψ
=
{
+
1
,
−
1
}
,
i
=
1
,
2....
N
T=\{(x_1,y_1),.....,(x_N,y_N)\},x_i\in\chi=R^n,y_i\in\psi=\{+1,-1\},i=1,2....N
T={(x1,y1),.....,(xN,yN)},xi∈χ=Rn,yi∈ψ={+1,−1},i=1,2....N假设数据是线性可分的,学习的目标就是在空间中找到一个分离超平面,将实例分别分开为正负例。分离超平面对应方程
w
x
+
b
=
0
wx+b=0
wx+b=0一般的当数据可分时,有无数多个超平面可以将数据分开,线性可支持向量机利用间隔最大化求解最优分离超平面,这时的解是唯一的。
定义(线性可分支持向量机):
给定线性可分训练数据集,通过间隔最大化或者等价的求解相应的凸二次规划问题学习得到分离超平面为
w ∗ x + b ∗ = 0 w^{*}x+b^*=0 w∗x+b∗=0
对应的分类决策函数
f ( x ) = s i g n ( w ∗ x + b ∗ ) f(x)=sign(w^{*}x+b^*) f(x)=sign(w∗x+b∗)
称为线性可分支持向量机。
2 函数间隔和几何间隔
一个点距离分离超平面的远近可以表示分类预测的确信程度。在超平面 w x + b = 0 wx+b=0 wx+b=0确定的情况下 ∣ w x + b ∣ |wx+b| ∣wx+b∣可以表示点距离分离超平面的远近, w x + b wx+b wx+b的符号与类标记 y y y的符号是否一致能够表示分类是否正确。所以用 y ( w x + b ) y(wx+b) y(wx+b)表示分类的正确性和确信度,即为函数间隔。
定义:对于给定的训练数据集T和超平面(w,b),定义超平面(w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔为:
γ ^ i = y i ( w x + b ) \hat \gamma_i=y_i(wx+b) γ^i=yi(wx+b)
定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔之最小值,即:
γ ^ = m i n γ ^ \hat \gamma=min \hat \gamma γ^=minγ^
函数间隔可以表示分类预测的正确性以及确信度,但是如果成比例的改变
w
,
b
w,b
w,b则超平面不会改变,但是函数间隔却成为原来的2倍,所以我们可以对分离超平面的法向量
w
w
w加某些约束,规范化。
∣
∣
w
∣
∣
=
1
||w||=1
∣∣w∣∣=1使得函数间隔是确定的,这时函数间隔变为几何间隔。点到超平面
(
w
,
b
)
(w,b)
(w,b),法向量
w
w
w的距离为:
γ
i
=
y
i
(
w
∣
∣
w
∣
∣
⋅
x
i
+
b
∣
∣
w
∣
∣
)
\gamma_i=y_i(\frac{w}{||w||}·x_i+\frac{b}{||w||})
γi=yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)
超平面关于样本的几何间隔一般是指实例点到超平面的带符号的距离,当样本点被超平面正确分类时就是实例点到超平面的距离。
3 间隔最大化
所说的间隔是指硬间隔,当训练数据近似线性可分的时候,称为软间隔。直观解释是,以充分大的确信度对训练数据进行分类,不仅将正负样例分开,而且将最难分的实例点,离超平面最近的点也有足够大的确信度将他们分开。
问题可以被表示为:
m
a
x
w
,
b
γ
max_{w,b} \quad\gamma
maxw,bγ
s
.
t
.
y
i
(
w
∣
∣
w
∣
∣
⋅
x
i
+
b
∣
∣
w
∣
∣
)
≥
γ
,
i
=
1
,
2
,
3
,
.
.
.
N
s.t.\quad y_i(\frac{w}{||w||}·x_i+\frac{b}{||w||})\ge \gamma,i=1,2,3,...N
s.t.yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)≥γ,i=1,2,3,...N
考虑到几何间隔和函数间隔的关系式,这个问题可以改写为:
m
a
x
w
,
b
γ
^
∣
∣
w
∣
∣
max_{w,b}\quad \frac{\hat \gamma}{||w||}
maxw,b∣∣w∣∣γ^
s
.
t
.
y
i
(
w
⋅
x
i
+
b
)
≥
γ
^
,
i
=
1
,
2
,
3...
N
s.t. \quad y_i(w·x_i+b)\ge\hat\gamma,i=1,2,3...N
s.t.yi(w⋅xi+b)≥γ^,i=1,2,3...N
实际上间隔
γ
^
\hat\gamma
γ^并不影响最优问题的解,假设
w
,
b
w,b
w,b按照一定比例改变
λ
w
,
λ
b
\lambda w,\lambda b
λw,λb这时函数间隔成为
λ
γ
^
\lambda \hat\gamma
λγ^函数间隔的这一改变对上面最优化问题的不等式约束没有影响,对目标函数优化也没有影响。这样就可以让
γ
^
=
1
\hat\gamma=1
γ^=1,带入到最优化问题中去。这时最大化
1
∣
∣
w
∣
∣
\frac{1}{||w||}
∣∣w∣∣1和最小化
1
2
∣
∣
w
∣
∣
2
\frac{1}{2}||w||^2
21∣∣w∣∣2等价,于是就得到下面的线性可分支持向量机的最优化问题。
m
i
n
w
,
b
1
2
∣
∣
w
∣
∣
2
min_{w,b}\quad \frac{1}{2}||w||^2
minw,b21∣∣w∣∣2
s
.
t
.
y
i
(
w
⋅
x
i
+
b
)
−
1
≥
0
,
i
=
1
,
2
,
3...
N
s.t. \quad y_i(w·x_i+b)-1\ge0,i=1,2,3...N
s.t.yi(w⋅xi+b)−1≥0,i=1,2,3...N
这是一个凸二次规划的问题。
4 支持向量和向量边界
在线性可分的情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例成为支持向量(support vector).支持向量是使约束条件等号成立的点,即:
y
i
(
w
⋅
x
+
b
)
−
1
=
0
y_i(w·x+b)-1=0
yi(w⋅x+b)−1=0
对
y
i
=
+
1
y_i=+1
yi=+1的正例点,支持向量在超平面
H
1
:
w
⋅
x
+
b
=
1
H_1:w·x+b=1
H1:w⋅x+b=1
对
y
i
=
−
1
y_i=-1
yi=−1的负例点,支持向量在超平面
H
2
:
w
⋅
x
+
b
=
−
1
H_2:w·x+b=-1
H2:w⋅x+b=−1
H
1
,
H
2
H_1,H_2
H1,H2平行,没有实例点落在中间,分离超平面与他们平行且落在他们中间,
H
1
,
H
2
H_1,H_2
H1,H2之间的距离称为间隔(margin)。间隔依赖于分离超平面的法向量w,等于
2
∣
∣
w
∣
∣
\frac{2}{||w||}
∣∣w∣∣2,
H
1
,
H
2
H_1,H_2
H1,H2称为间隔边界。
重要性质
在决定分离超平面的时候只有支持向量起作用,其他实例点并不起作用,如果移动支持向量将改变所求的解。移动间隔边界以外的点,甚至去掉这些点,解是不会改变的。支持向量的个数一般很少,所以支持向量机由很少的“重要的”的样本确定。
5 对偶算法
为了求解线性可分支持向量机的最优化问题,将它作为原始最优化问题,应用拉格朗日对偶性,通过求解对偶问题来求解原始问题。以来这样做方便求解,二来自然引入核函数,推广到非线性分类的问题。
首先构造拉格朗日函数,为此每一个不等式约束引进拉格朗日乘子,
α
i
≥
0
,
i
=
1
,
2...
N
\alpha_i \ge0,i=1,2...N
αi≥0,i=1,2...N,定义拉格朗日函数。
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
−
∑
i
=
1
N
α
i
y
i
(
w
⋅
x
i
+
b
)
+
∑
i
=
1
N
α
i
L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^N\alpha_iy_i(w·x_i+b)+\sum_{i=1}^N\alpha_i
L(w,b,α)=21∣∣w∣∣2−i=1∑Nαiyi(w⋅xi+b)+i=1∑Nαi
其中,
α
=
(
α
1
,
α
2
,
α
3
.
.
.
.
α
N
)
T
\alpha=(\alpha_1,\alpha_2,\alpha_3....\alpha_N)^T
α=(α1,α2,α3....αN)T为拉格朗日乘子向量。
根据拉格朗日对偶性,原始问题的对偶问题是极大值极小值问题:
m
a
x
a
m
i
n
w
,
b
L
(
w
,
b
,
α
)
max_a\quad min_{w,b}L(w,b,\alpha)
maxaminw,bL(w,b,α)
所以,为了得到对偶问题的解,需要先求
L
(
w
,
b
,
α
)
L(w,b,\alpha)
L(w,b,α)对w,b的极小,在对
α
\alpha
α求极大。
(1)求
m
i
n
w
,
b
L
(
w
,
b
,
α
)
min_{w,b}L(w,b,\alpha)
minw,bL(w,b,α)
将拉格朗日函数
L
(
w
,
b
,
α
)
L(w,b,\alpha)
L(w,b,α)分别对
w
.
b
w.b
w.b求偏导并令其等于0.
▽
w
L
(
w
,
b
,
α
)
=
w
−
∑
i
=
1
N
α
i
y
i
x
i
=
0
\bigtriangledown_wL(w,b,\alpha) =w- \sum_{i=1}^N\alpha_iy_ix_i=0
▽wL(w,b,α)=w−i=1∑Nαiyixi=0
▽
b
L
(
w
,
b
,
α
)
=
∑
i
=
1
N
α
i
y
i
=
0
\bigtriangledown_bL(w,b,\alpha) =\sum_{i=1}^N\alpha_iy_i=0
▽bL(w,b,α)=i=1∑Nαiyi=0
得:
w
=
∑
i
=
1
N
α
i
y
i
x
i
w=\sum_{i=1}^N\alpha_iy_ix_i
w=i=1∑Nαiyixi
∑
i
=
1
N
α
i
y
i
=
0
\sum_{i=1}^N\alpha_iy_i=0
i=1∑Nαiyi=0
将上述代入拉格朗日函数,得:
L
(
w
,
b
,
α
)
=
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
−
∑
i
=
1
N
α
i
y
i
(
(
∑
j
=
1
N
α
j
y
j
x
j
)
⋅
x
i
+
b
)
+
∑
i
=
1
N
α
i
L(w,b,\alpha)=\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)-\sum_{i=1}^N\alpha_iy_i((\sum_{j=1}^N\alpha_jy_jx_j)·x_i+b)+\sum_{i=1}^N\alpha_i
L(w,b,α)=21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαiyi((j=1∑Nαjyjxj)⋅xi+b)+i=1∑Nαi
=
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
+
∑
i
=
1
N
α
i
=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)+\sum_{i=1}^N\alpha_i
=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
(2)求
m
i
n
w
,
b
L
(
w
,
b
,
α
)
min_{w,b}L(w,b,\alpha)
minw,bL(w,b,α)对
α
\alpha
α的极大,即是对偶问题
m
a
x
α
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
+
∑
i
=
1
N
α
i
max_{\alpha}\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)+\sum_{i=1}^N\alpha_i
maxα−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
s
.
t
.
∑
i
=
1
N
α
i
y
i
=
0
,
α
i
≥
0
,
i
=
1
,
2
,
3....
,
N
s.t.\quad \sum_{i=1}^N\alpha_iy_i=0,\alpha_i\ge0,i=1,2,3....,N
s.t.i=1∑Nαiyi=0,αi≥0,i=1,2,3....,N
将目标函数转换由极大求极小,得到下列等价优化问题:
m
i
n
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
−
∑
i
=
1
N
α
i
min_\alpha\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)-\sum_{i=1}^N\alpha_i
minα21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαi
s
.
t
.
∑
i
=
1
N
α
i
y
i
=
0
,
α
i
≥
0
,
i
=
1
,
2
,
3....
,
N
s.t.\quad \sum_{i=1}^N\alpha_iy_i=0,\alpha_i\ge0,i=1,2,3....,N
s.t.i=1∑Nαiyi=0,αi≥0,i=1,2,3....,N
对线性可分训练数据集,假设对偶最优化问题对
α
\alpha
α的解为
α
∗
=
(
α
1
∗
,
α
2
∗
.
.
.
.
α
N
∗
)
T
\alpha^*=(\alpha_1^*,\alpha_2^*....\alpha_N^*)^T
α∗=(α1∗,α2∗....αN∗)T则可有
α
∗
\alpha^*
α∗求的原始最优化问题的解
(
w
∗
,
b
∗
)
(w^*,b^*)
(w∗,b∗).