γ^(i)=y(i)(wTx(i)+b)
γ
^
(
i
)
=
y
(
i
)
(
w
T
x
(
i
)
+
b
)
其中,
y(i)
y
(
i
)
为标签
(y∈{−1,1})
(
y
∈
{
−
1
,
1
}
)
当
y(i)=1
y
(
i
)
=
1
时,为了使间隔最大,
wTx+b
w
T
x
+
b
必须是一个尽可能大的正数,这样才能确保分类正确的确信度最高。同样地,当
y(i)=−1
y
(
i
)
=
−
1
时,为了使间隔最大,
wTx+b
w
T
x
+
b
必须是一个尽可能大的负数。
而我们的目的是最大化所有训练样本的最小间隔,即给定一个训练集
S={(x(i),y(i));i=1,...,m}
S
=
{
(
x
(
i
)
,
y
(
i
)
)
;
i
=
1
,
.
.
.
,
m
}
,我们定义在S下
(w,b)
(
w
,
b
)
的函数间隔为所有训练样本的函数边界的最小值,则:
γ^=mini=1,...,mγ^(i)
γ
^
=
min
i
=
1
,
.
.
.
,
m
γ
^
(
i
)
几何间隔:
如图,
假设
γ(i)
γ
(
i
)
为我们要求的几何间隔,我们知道,
w||w||
w
|
|
w
|
|
是
w
w
方向上的单位向量,给定A:x(i),可以得到B:
x(i)−γ(i)∗w||w||
x
(
i
)
−
γ
(
i
)
∗
w
|
|
w
|
|
,又因为B位于决策边界,所以B也满足
wTx+b=0
w
T
x
+
b
=
0
,代入得:
wT(x(i)−γ(i)∗w||w||)+b=0.
w
T
(
x
(
i
)
−
γ
(
i
)
∗
w
|
|
w
|
|
)
+
b
=
0.
移项得到:
γ(i)=wTx(i)+b||w||=(w||w||)Tx(i)+b||w||
γ
(
i
)
=
w
T
x
(
i
)
+
b
|
|
w
|
|
=
(
w
|
|
w
|
|
)
T
x
(
i
)
+
b
|
|
w
|
|
这只是一个方向上的,为了满足正负样本
y=±1
y
=
±
1
的情况,更一般的,我们可以令
γ(i)=y(i)((w||w||)Tx(i)+b||w||)
γ
(
i
)
=
y
(
i
)
(
(
w
|
|
w
|
|
)
T
x
(
i
)
+
b
|
|
w
|
|
)
maxw,bs.t.γγ(i)=y(i)((w||w||)Tx(i)+b||w||)≥γ,i=1,2,...,N
max
w
,
b
γ
s.t.
γ
(
i
)
=
y
(
i
)
(
(
w
|
|
w
|
|
)
T
x
(
i
)
+
b
|
|
w
|
|
)
≥
γ
,
i
=
1
,
2
,
.
.
.
,
N
maxw,bs.t.γ^||w||y(i)((w||w||)Tx(i)+b||w||)≥γ^||w||,i=1,2,...,N
max
w
,
b
γ
^
|
|
w
|
|
s.t.
y
(
i
)
(
(
w
|
|
w
|
|
)
T
x
(
i
)
+
b
|
|
w
|
|
)
≥
γ
^
|
|
w
|
|
,
i
=
1
,
2
,
.
.
.
,
N
将不等式两边的
||w||
|
|
w
|
|
约去,即:
maxw,bs.t.γ^||w||y(i)(wTx(i)+b)≥γ^,i=1,2,...,N
max
w
,
b
γ
^
|
|
w
|
|
s.t.
y
(
i
)
(
w
T
x
(
i
)
+
b
)
≥
γ
^
,
i
=
1
,
2
,
.
.
.
,
N
函数间隔
γ^
γ
^
的取值并不影响最优化问题的解。为什么呢?事实上,假设将w和b按比例改变成
λw
λ
w
和
λb
λ
b
,这时函数间隔成为
λγ^
λ
γ
^
。把
λw
λ
w
,
λb
λ
b
,
λγ^
λ
γ
^
分别代入上面的优化问题可以得到:
maxw,bs.t.λγ^||λw||=λγ^λ||w||y(i)((λw)Tx(i)+λb)≥λγ^,i=1,2,...,N
max
w
,
b
λ
γ
^
|
|
λ
w
|
|
=
λ
γ
^
λ
|
|
w
|
|
s.t.
y
(
i
)
(
(
λ
w
)
T
x
(
i
)
+
λ
b
)
≥
λ
γ
^
,
i
=
1
,
2
,
.
.
.
,
N
minw,bs.t.12||w||2y(i)(wTx(i)+b)−1≥0,i=1,2,...,N
min
w
,
b
1
2
|
|
w
|
|
2
s.t.
y
(
i
)
(
w
T
x
(
i
)
+
b
)
−
1
≥
0
,
i
=
1
,
2
,
.
.
.
,
N
如果求出了上述约束最优化问题的解
w∗,b∗
w
∗
,
b
∗
, 那么就可以得到最大间隔超平面
w∗x+b∗=0
w
∗
x
+
b
∗
=
0
及分类决策函数
f(x)=sign(w∗x+b∗)
f
(
x
)
=
s
i
g
n
(
w
∗
x
+
b
∗
)
, 即线性可分支持向量机模型。
接下来考虑
对偶问题:
我们暂时先不管以上的优化式子,考虑一般化的条件:
minw s.t. f(w)hi(w)=0,i=1,...,l.
min
w
f
(
w
)
s.t.
h
i
(
w
)
=
0
,
i
=
1
,
.
.
.
,
l
.
L(w,β)=f(w)+∑i=1lβihi(w)
L
(
w
,
β
)
=
f
(
w
)
+
∑
i
=
1
l
β
i
h
i
(
w
)
其中
βi
β
i
为拉格朗日乘子,令
L
L
的导数等于零:
∂L∂wi=0;∂L∂βi=0
可以求出
w
w
和β.
接下来我们看一下含有不等式约束的最优化问题。原问题:
minws.t.f(w)gi(w)≤0,i=1,...,khi(w)=0,i=1,...,l.
min
w
f
(
w
)
s.t.
g
i
(
w
)
≤
0
,
i
=
1
,
.
.
.
,
k
h
i
(
w
)
=
0
,
i
=
1
,
.
.
.
,
l
.
为了解决这个不等式约束问题,我们定义以下的拉格朗日函数:
L(w,α,β)=f(w)+∑i=1kαigi(w)+∑i=1kβihi(w).
L
(
w
,
α
,
β
)
=
f
(
w
)
+
∑
i
=
1
k
α
i
g
i
(
w
)
+
∑
i
=
1
k
β
i
h
i
(
w
)
.
其中
αi,βi
α
i
,
β
i
为拉格朗日乘子。
考虑以下等式:
θp(w)=maxα,β:αi≥0L(w,α,β)
θ
p
(
w
)
=
max
α
,
β
:
α
i
≥
0
L
(
w
,
α
,
β
)
当违背约束时(即存在
i,
i
,
使得
gi(w)>0或者hi(w)≠0
g
i
(
w
)
>
0
或
者
h
i
(
w
)
≠
0
),
θp(w)=maxα,β:αi≥0=∞f(w)+∑ki=1αigi(w)+∑ki=1βihi(w)
θ
p
(
w
)
=
max
α
,
β
:
α
i
≥
0
f
(
w
)
+
∑
i
=
1
k
α
i
g
i
(
w
)
+
∑
i
=
1
k
β
i
h
i
(
w
)
=
∞
而当不等式约束跟等式约束都满足时,
θp(w)=f(w)
θ
p
(
w
)
=
f
(
w
)
,即:
θp(w)={f(w),∞,如果w满足所有约束否则
θ
p
(
w
)
=
{
f
(
w
)
,
如果w满足所有约束
∞
,
否则
这就是要最大化拉格朗日函数的原因。当不等式约束跟等式约束都满足要求时,
θp(w)=f(w);
θ
p
(
w
)
=
f
(
w
)
;
当违背约束时,
θp(w)
θ
p
(
w
)
趋向于无穷大,式子无解,这样做相当于把约束放到了上述式子中了。同时,我们最小化
f(w)
f
(
w
)
,就相当于最小化
θp(w)
θ
p
(
w
)
.即:
p∗=minwθp(w)=minwmaxα,β:αi≥0L(w,α,β)
p
∗
=
min
w
θ
p
(
w
)
=
min
w
max
α
,
β
:
α
i
≥
0
L
(
w
,
α
,
β
)
p∗
p
∗
即为原问题的解。
接下来我们最小化拉格朗日函数,
θd(α,β)=minwL(w,α,β)
θ
d
(
α
,
β
)
=
min
w
L
(
w
,
α
,
β
)
由此我们可以列出对偶优化问题:
d∗=maxα,β:αi≥0θd(α,β)=maxα,β:αi≥0minwL(w,α,β)
d
∗
=
max
α
,
β
:
α
i
≥
0
θ
d
(
α
,
β
)
=
max
α
,
β
:
α
i
≥
0
min
w
L
(
w
,
α
,
β
)
d∗
d
∗
即为对偶问题的解。
原问题跟对偶问题有什么关系呢?关系如下:
d∗=maxα,β:αi≥0minwL(w,α,β)≤minwmaxα,β:αi≥0L(w,α,β)=p∗
d
∗
=
max
α
,
β
:
α
i
≥
0
min
w
L
(
w
,
α
,
β
)
≤
min
w
max
α
,
β
:
α
i
≥
0
L
(
w
,
α
,
β
)
=
p
∗
当拉格朗日乘子的解
w∗,α∗,β∗
w
∗
,
α
∗
,
β
∗
满足以下的KKT条件时,
d∗=p∗
d
∗
=
p
∗
:
∂L(w∗,α∗,β∗)∂wi∂L(w∗,α∗,β∗)∂βiα∗igi(w∗)gi(w∗)α∗=0,i=1,...,n=0,i=1,...,l=0,i=1,...,k≤0,i=1,...,k≥0,i=1,...,k(27)(28)(29)(30)(31)
(27)
∂
L
(
w
∗
,
α
∗
,
β
∗
)
∂
w
i
=
0
,
i
=
1
,
.
.
.
,
n
(28)
∂
L
(
w
∗
,
α
∗
,
β
∗
)
∂
β
i
=
0
,
i
=
1
,
.
.
.
,
l
(29)
α
i
∗
g
i
(
w
∗
)
=
0
,
i
=
1
,
.
.
.
,
k
(30)
g
i
(
w
∗
)
≤
0
,
i
=
1
,
.
.
.
,
k
(31)
α
∗
≥
0
,
i
=
1
,
.
.
.
,
k
下面,将证明原问题与对偶问题的关系的由来。
我们再次写下拉格朗日函数:
L(w,α,β)=f(w)+∑i=1kαigi(w)+∑i=1kβihi(w).
L
(
w
,
α
,
β
)
=
f
(
w
)
+
∑
i
=
1
k
α
i
g
i
(
w
)
+
∑
i
=
1
k
β
i
h
i
(
w
)
.
以下式子恒成立(
sup
s
u
p
表示上确界,
inf
i
n
f
表示下确界):
infw∈WL(w,α,β)supα,β:αi≥0L(w,α,β)≤L(w,α,β),∀w,α,β≥L(w,α,β),∀w,α,β(32)(33)
(32)
inf
w
∈
W
L
(
w
,
α
,
β
)
≤
L
(
w
,
α
,
β
)
,
∀
w
,
α
,
β
(33)
sup
α
,
β
:
α
i
≥
0
L
(
w
,
α
,
β
)
≥
L
(
w
,
α
,
β
)
,
∀
w
,
α
,
β
令:
q(α,β)f(w)=infw∈WL(w,α,β)=supα,β:αi≥0L(w,α,β)(34)(35)
(34)
q
(
α
,
β
)
=
inf
w
∈
W
L
(
w
,
α
,
β
)
(35)
f
(
w
)
=
sup
α
,
β
:
α
i
≥
0
L
(
w
,
α
,
β
)
所以,有:
q(α,β)≤f(w)
q
(
α
,
β
)
≤
f
(
w
)
因此:
supα,β:αi≥0q(α,β)≤infw∈Wf(w)
sup
α
,
β
:
α
i
≥
0
q
(
α
,
β
)
≤
inf
w
∈
W
f
(
w
)
即:
supα,β:αi≥0infw∈WL(w,α,β)≤infw∈Wsupα,β:αi≥0L(w,α,β)
sup
α
,
β
:
α
i
≥
0
inf
w
∈
W
L
(
w
,
α
,
β
)
≤
inf
w
∈
W
sup
α
,
β
:
α
i
≥
0
L
(
w
,
α
,
β
)
等式成立的条件是:
L(w,α,β)
L
(
w
,
α
,
β
)
的第二项跟第三项为零,即:
αigi(w)αigi(w)hi(w)≥0,∀i≤0,∀i=0,∀i=0,∀i(36)(37)(38)(39)
(36)
α
i
≥
0
,
∀
i
(37)
g
i
(
w
)
≤
0
,
∀
i
(38)
α
i
g
i
(
w
)
=
0
,
∀
i
(39)
h
i
(
w
)
=
0
,
∀
i
也就是说,当变量满足KKT条件时,对偶问题的解等于原问题的解。
优化问题的求解: 再次写下我们要求解的优化问题:
minw,bs.t.12||w||2y(i)(wTx(i)+b)−1≥0,i=1,2,...,N
min
w
,
b
1
2
|
|
w
|
|
2
s.t.
y
(
i
)
(
w
T
x
(
i
)
+
b
)
−
1
≥
0
,
i
=
1
,
2
,
.
.
.
,
N
拉格朗日函数如下:
L(w,α,β)=12||w||2+∑i=1mαi[1−y(i)(wTx(i)+b)].
L
(
w
,
α
,
β
)
=
1
2
|
|
w
|
|
2
+
∑
i
=
1
m
α
i
[
1
−
y
(
i
)
(
w
T
x
(
i
)
+
b
)
]
.
我们通过求解对偶问题来得到原问题的解,当然前提是必须满足KKT条件。
对偶问题如下:
maxαi≥0minw,b12||w||2+∑i=1mαi[1−y(i)(wTx(i)+b)].
max
α
i
≥
0
min
w
,
b
1
2
|
|
w
|
|
2
+
∑
i
=
1
m
α
i
[
1
−
y
(
i
)
(
w
T
x
(
i
)
+
b
)
]
.
对于这个问题,我们先通过最小化
L(w,α,β)
L
(
w
,
α
,
β
)
来求出
w,b(固定α)
w
,
b
(
固
定
α
)
,具体做法是使L对w,b的导数为零。对w求导:
∇wL(w,b,α)=w−∑i=1mαiy(i)x(i)=0
∇
w
L
(
w
,
b
,
α
)
=
w
−
∑
i
=
1
m
α
i
y
(
i
)
x
(
i
)
=
0
即:
w=∑i=1mαiy(i)x(i)
w
=
∑
i
=
1
m
α
i
y
(
i
)
x
(
i
)
对b求导:
∂∂bL(w,b,α)=∑i=1mαiy(i)=0
∂
∂
b
L
(
w
,
b
,
α
)
=
∑
i
=
1
m
α
i
y
(
i
)
=
0
将上述两式代入到拉格朗日函数中,可以得到:
L(w,b,α)=∑i=1mαi−12∑i=1m∑j=1my(i)y(j)αiαj(x(i))Tx(j)
L
(
w
,
b
,
α
)
=
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
y
(
i
)
y
(
j
)
α
i
α
j
(
x
(
i
)
)
T
x
(
j
)
因此,优化问题可写成下列形式:
maxαs.t.∑mi=1αi−12∑mi=1∑mj=1y(i)y(j)αiαj(x(i))Tx(j)αi≥0,i=1,...,m∑mi=1αiy(i)=0
max
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
y
(
i
)
y
(
j
)
α
i
α
j
(
x
(
i
)
)
T
x
(
j
)
s.t.
α
i
≥
0
,
i
=
1
,
.
.
.
,
m
∑
i
=
1
m
α
i
y
(
i
)
=
0
这就变成了对
α
α
的单变量优化问题。对
α
α
的求解可以使用SMO算法,我们后面会讲到。假设我们已经求解出
α
α
, 那么我们可以通过
w=∑mi=1αiy(i)x(i)
w
=
∑
i
=
1
m
α
i
y
(
i
)
x
(
i
)
求出w,但是b该怎么求解呢?
当i为支持向量时,我们可以得到函数间隔:
y(i)(w∗Tx(i)+b)=γ^
y
(
i
)
(
w
∗
T
x
(
i
)
+
b
)
=
γ
^
,即:
maxi:y(i)=−1w∗Tx(i)+b=−γ^mini:y(i)=1w∗Tx(i)+b=γ^
max
i
:
y
(
i
)
=
−
1
w
∗
T
x
(
i
)
+
b
=
−
γ
^
min
i
:
y
(
i
)
=
1
w
∗
T
x
(
i
)
+
b
=
γ
^
以上两式相加可以得到b:
b=−maxi:y(i)=−1w∗Tx(i)+mini:y(i)=1w∗Tx(i)2.
b
=
−
max
i
:
y
(
i
)
=
−
1
w
∗
T
x
(
i
)
+
min
i
:
y
(
i
)
=
1
w
∗
T
x
(
i
)
2
.
因此,对于一个待预测的样本,我们可以得到:
wTx+b=∑mi=1αiy(i)(x(i))Tx+b=∑mi=1αiy(i)⟨x(i),x⟩+b.
w
T
x
+
b
=
∑
i
=
1
m
α
i
y
(
i
)
(
x
(
i
)
)
T
x
+
b
=
∑
i
=
1
m
α
i
y
(
i
)
⟨
x
(
i
)
,
x
⟩
+
b
.
当
wTx+b>0
w
T
x
+
b
>
0
时我们把该样本预测为正样本,
wTx+b≤0
w
T
x
+
b
≤
0
时预测为负样本。
使得对所有
x,z∈X,
x
,
z
∈
X
,
函数
K(x,z)
K
(
x
,
z
)
满足条件:
K(x,z)=⟨ϕ(x),ϕ(z)⟩
K
(
x
,
z
)
=
⟨
ϕ
(
x
)
,
ϕ
(
z
)
⟩
则称
K(x,z)
K
(
x
,
z
)
为核函数,
ϕ(x)
ϕ
(
x
)
为映射函数,式中
⟨ϕ(x),ϕ(z)⟩
⟨
ϕ
(
x
)
,
ϕ
(
z
)
⟩
为
ϕ(x)
ϕ
(
x
)
和
ϕ(z)
ϕ
(
z
)
的内积。
核技巧的想法是:在学习与预测中只定义核函数
K(x,z)
K
(
x
,
z
)
,而不显式地定义映射函数
ϕ
ϕ
。通常,直接计算
K(x,z)
K
(
x
,
z
)
比较容易,而通过
ϕ(x)
ϕ
(
x
)
和
ϕ(z)
ϕ
(
z
)
计算
K(x,z)
K
(
x
,
z
)
并不容易。这是因为,
ϕ
ϕ
是原始输入空间X到特征空间H地映射,特征空间H一般是高维的,甚至是无穷维的。
通俗点讲,对于在原始空间内线性不可分的情况,我们可以将原始空间映射到高维空间,高维空间的内积计算使用核函数代替。
因此,我们的目标函数的对偶问题可以写成下列形式:
maxαs.t.∑mi=1αi−12∑mi=1∑mj=1y(i)y(j)αiαjk(x(i),x(j))αi≥0,i=1,...,m∑mi=1αiy(i)=0
max
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
y
(
i
)
y
(
j
)
α
i
α
j
k
(
x
(
i
)
,
x
(
j
)
)
s.t.
α
i
≥
0
,
i
=
1
,
.
.
.
,
m
∑
i
=
1
m
α
i
y
(
i
)
=
0
求解后即可得到:
f(x)=wTϕ(x)+b=∑mi=1αiy(i)ϕ(x(i))Tϕ(x)+b=∑mi=1αiy(i)k(x(i),x)+b
f
(
x
)
=
w
T
ϕ
(
x
)
+
b
=
∑
i
=
1
m
α
i
y
(
i
)
ϕ
(
x
(
i
)
)
T
ϕ
(
x
)
+
b
=
∑
i
=
1
m
α
i
y
(
i
)
k
(
x
(
i
)
,
x
)
+
b
那么,什么样的函数能做核函数呢?我们有下面的定理:
定理:令
X
X
为原始输入空间,k(x(i),x(j)) 是定义在
X×X
X
×
X
上的对称函数,则
k
k
是核函数当且仅当对于任意数据D=x(1),x(2),...,x(m), 核矩阵
K
K
总是半正定的:
定理表明,只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用。
定理证明:如果
k
k
是一个有效的核函数,那么k(x(i),x(j))=ϕ(x(i))Tϕ(x(j))==ϕ(x(j))Tϕ(x(i))=k(x(j),x(i)), 因此核函数
k
k
必须是对称的。另外,对于任意向量z,我们有:
zTKz=∑i∑jzik(x(i),x(j))zj=∑i∑jziϕ(x(i))Tϕ(x(j))zj=∑i∑jzi∑kϕk(x(i))ϕk(x(j))zj=∑k∑i∑jziϕk(x(i))ϕk(x(j))zj=∑k(∑iziϕk(x(i)))2≥0.
z
T
K
z
=
∑
i
∑
j
z
i
k
(
x
(
i
)
,
x
(
j
)
)
z
j
=
∑
i
∑
j
z
i
ϕ
(
x
(
i
)
)
T
ϕ
(
x
(
j
)
)
z
j
=
∑
i
∑
j
z
i
∑
k
ϕ
k
(
x
(
i
)
)
ϕ
k
(
x
(
j
)
)
z
j
=
∑
k
∑
i
∑
j
z
i
ϕ
k
(
x
(
i
)
)
ϕ
k
(
x
(
j
)
)
z
j
=
∑
k
(
∑
i
z
i
ϕ
k
(
x
(
i
)
)
)
2
≥
0.
线性不可分的支持向量机 在前面的讨论中,我们一直假定训练样本在样本空间或特征空间中是线性可分的,即存在一个超平面能将不同类的样本完全分开。然而,在现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分;退一步说,即使恰好找到了某个核函数使训练集在特征空间中线性可分,但这样划分的结果会更容易造成过拟合。 线性不可分意味着某些样本点(x(i),y(i))
(
x
(
i
)
,
y
(
i
)
)
不能满足函数间隔大于等于1的约束条件。为了解决这个问题,可以对每个样本点(x(i),y(i))
(
x
(
i
)
,
y
(
i
)
)
引进一个松弛变量ξi
ξ
i
, 使函数间隔加上松弛变量大于等于1,这样,约束条件变为:
y(i)(wTx(i)+b)≥1−ξi
y
(
i
)
(
w
T
x
(
i
)
+
b
)
≥
1
−
ξ
i
同时,对每一个样本,支付一个代价
ξi
ξ
i
, 目标函数由原来的
12||w||2
1
2
|
|
w
|
|
2
变为:
12||w||2+C∑i=1Nξi
1
2
|
|
w
|
|
2
+
C
∑
i
=
1
N
ξ
i
其中,
C>0
C
>
0
称为惩罚因子,C值大时对误分类的惩罚增大。最小化目标函数包含两层含义:为了使目标函数尽可能小,C应该取一个较小的值;同时为了使误分类的样本尽可能少,C应该取一个较大的值。所以,惩罚因子C的取值必须在这两者做个折中。
线性不可分的线性支持向量机的学习问题变成一个凸二次规划问题(原问题):
minw,b,ξs.t.12||w||2+C∑Ni=1ξiy(i)(wTx(i)+b)≥1−ξi,i=1,2,...,Nξi≥0,i=1,2,...,N
min
w
,
b
,
ξ
1
2
|
|
w
|
|
2
+
C
∑
i
=
1
N
ξ
i
s.t.
y
(
i
)
(
w
T
x
(
i
)
+
b
)
≥
1
−
ξ
i
,
i
=
1
,
2
,
.
.
.
,
N
ξ
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
N
该问题的拉格朗日函数是:
L(w,b,α,ξ,μ)=12||w||2+C∑i=1Nξi+∑i=1mαi(1−ξi−y(i)(wTx(i)+b))−∑i=1mμiξi
L
(
w
,
b
,
α
,
ξ
,
μ
)
=
1
2
|
|
w
|
|
2
+
C
∑
i
=
1
N
ξ
i
+
∑
i
=
1
m
α
i
(
1
−
ξ
i
−
y
(
i
)
(
w
T
x
(
i
)
+
b
)
)
−
∑
i
=
1
m
μ
i
ξ
i
其中,
αi≥0,μi≥0
α
i
≥
0
,
μ
i
≥
0
是拉格朗日乘子。
令
L(w,b,α,ξ,μ)
L
(
w
,
b
,
α
,
ξ
,
μ
)
对
w,b,ξ
w
,
b
,
ξ
的偏导为零可得:
w=∑mi=1αiy(i)x(i),0=∑mi=1αiy(i),C=αi+μi.
w
=
∑
i
=
1
m
α
i
y
(
i
)
x
(
i
)
,
0
=
∑
i
=
1
m
α
i
y
(
i
)
,
C
=
α
i
+
μ
i
.
将以上等式代入拉格朗日函数中可得到对偶问题:
maxαs.t.∑mi=1αi−12∑mi=1∑mj=1y(i)y(j)αiαj(x(i))Tx(j)0≤αi≤C,i=1,...,m∑mi=1αiy(i)=0
max
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
y
(
i
)
y
(
j
)
α
i
α
j
(
x
(
i
)
)
T
x
(
j
)
s.t.
0
≤
α
i
≤
C
,
i
=
1
,
.
.
.
,
m
∑
i
=
1
m
α
i
y
(
i
)
=
0
同样地,对于软间隔支持向量机,也必须满足KKT条件:
αi≥0,μi≥0,y(i)f(x(i))≥1−ξi,αi(y(i)f(x(i))−1+ξi)=0ξi≥0,μiξi=0.
α
i
≥
0
,
μ
i
≥
0
,
y
(
i
)
f
(
x
(
i
)
)
≥
1
−
ξ
i
,
α
i
(
y
(
i
)
f
(
x
(
i
)
)
−
1
+
ξ
i
)
=
0
ξ
i
≥
0
,
μ
i
ξ
i
=
0.
因此,对任意训练样本
(x(i),y(i))
(
x
(
i
)
,
y
(
i
)
)
, 总有
αi=0
α
i
=
0
或
y(i)f(x(i))−1+ξi=0
y
(
i
)
f
(
x
(
i
)
)
−
1
+
ξ
i
=
0
. 若
αi=0
α
i
=
0
, 则该样本不会对
f(x)
f
(
x
)
有任何影响;若
αi>0
α
i
>
0
,则必有
y(i)f(x(i))−1+ξi=0
y
(
i
)
f
(
x
(
i
)
)
−
1
+
ξ
i
=
0
, 则该样本是支持向量:由于
C=αi+μi
C
=
α
i
+
μ
i
,若
αi<C
α
i
<
C
,则
μi>0
μ
i
>
0
,进而有
ξi=0
ξ
i
=
0
,则该样本恰好落在间隔边界上;若
αi=C
α
i
=
C
,则
μi=0
μ
i
=
0
, 此时若
0<ξi<1
0
<
ξ
i
<
1
,则该样本落在间隔边界与分离超平面之间;若
ξi=1
ξ
i
=
1
,则该样本恰好落在分离超平面上;若
ξi>1
ξ
i
>
1
,则该样本落在分离超平面误分一侧。同样,软间隔支持向量机的最终模型仅与支持向量有关。
线性支持向量机学习算法步骤:
输入:训练数据集
T=(x(1),y(1)),(x(2),y(2)),...,(x(N),y(N))
T
=
(
x
(
1
)
,
y
(
1
)
)
,
(
x
(
2
)
,
y
(
2
)
)
,
.
.
.
,
(
x
(
N
)
,
y
(
N
)
)
,其中
x(i)∈X=Rn,y(i)∈Y={−1,+1},i=1,2,...,N;
x
(
i
)
∈
X
=
R
n
,
y
(
i
)
∈
Y
=
{
−
1
,
+
1
}
,
i
=
1
,
2
,
.
.
.
,
N
;
输出:分离超平面核分类决策函数。
(1)选择惩罚参数
C>0
C
>
0
, 构造并求解凸二次规划问题:
maxαs.t.∑Ni=1αi−12∑Ni=1∑Nj=1y(i)y(j)αiαj(x(i))Tx(j)0≤αi≤C,i=1,...,m∑Ni=1αiy(i)=0
max
α
∑
i
=
1
N
α
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
y
(
i
)
y
(
j
)
α
i
α
j
(
x
(
i
)
)
T
x
(
j
)
s.t.
0
≤
α
i
≤
C
,
i
=
1
,
.
.
.
,
m
∑
i
=
1
N
α
i
y
(
i
)
=
0
求得最优解
α∗=(α∗1,α∗2,...,α∗N)T
α
∗
=
(
α
1
∗
,
α
2
∗
,
.
.
.
,
α
N
∗
)
T
.
(2)计算
w∗=∑Ni=1α∗iy(i)x(i)
w
∗
=
∑
i
=
1
N
α
i
∗
y
(
i
)
x
(
i
)
选择
α∗
α
∗
的一个分量
α∗j
α
j
∗
满足条件
0<α∗j<C
0
<
α
j
∗
<
C
,计算
b∗=y(j)−∑i=1Nα∗iy(i)(x(i))Tx(j)
b
∗
=
y
(
j
)
−
∑
i
=
1
N
α
i
∗
y
(
i
)
(
x
(
i
)
)
T
x
(
j
)
求得分离超平面
w∗x+b∗=0
w
∗
x
+
b
∗
=
0
分类决策函数:
f(x)=sign(w∗x+b∗)
f
(
x
)
=
s
i
g
n
(
w
∗
x
+
b
∗
)
步骤(2)中,因为存在多个
α∗j
α
j
∗
,所以
b
b
的解并不是唯一的,所以实际计算时可以取在所有符合条件的样本点上的平均值。
在这个问题中,变量时拉格朗日乘子,一个变量
αi
α
i
对应于一个样本点
(x(i),y(i))
(
x
(
i
)
,
y
(
i
)
)
;变量的总数等于训练样本容量N。
SMO算法时一种启发式算法,其基本思路是:如果所有变量的解都满足此最优化问题的KKT条件,那么这个最优化问题的解就得到了。因为KKT条件是该最优化问题的充分必要条件。否则,选择两个变量,固定其他变量,针对这两个变量构建一个二次规划问题。这个二次规划问题关于这两个变量的解应该更接近原始二次规划问题的解。子问题有两个变量,一个是违反KKT条件最严重的哪一个,另一个由约束条件自动确定。如此,SMO算法将原问题不断分解为子问题并对子问题求解,进而达到求解原问题的目的。
因此,在参数初始化后,SMO算法不断执行以下两个步骤直至收敛:
(1)选取一对需要更新的变量
αi
α
i
和
αj
α
j
;
(2)固定
αi
α
i
和
αj
α
j
以外的参数,求解目标函数后获得更新后的
αi
α
i
和
αj
α
j
。(因为存在约束条件
∑mi=1αiy(i)=0
∑
i
=
1
m
α
i
y
(
i
)
=
0
,实际的变量只有一个,对该变量求导等于零可以得到该变量的解,将其代入约束条件可以得到另一个变量的解)
整个SMO算法包括两个部分:求解两个变量二次规划的解析方法和选择变量的启发式方法。时间关系,这里不做展开了,感兴趣的读者可以参阅《统计学习方法》7.4节 (作者:李航),作者讲的很详细,推荐阅读。