目录
支持向量机(SVM)
函数间隔与几何间隔
间隔最大化
拉格朗日对偶性
KKT条件
SVM的对偶算法
支持向量机(SVM)
支持向量机是一种二分类模型,其学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题。
给定线性可分数据集
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
T=\lbrace(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\rbrace
T={(x1,y1),(x2,y2),...,(xN,yN)},通过间隔最大化可以得到分离超平面为:
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0
以及相应的分类决策函数:
f
(
x
)
=
s
i
g
n
(
w
T
x
+
b
)
f(x) = sign(w^Tx+b)
f(x)=sign(wTx+b)
该决策函数称为线性可分支持向量机。
函数间隔与几何间隔
在超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0确定的情况下:
- ∣ w T x + b ∣ |w^Tx+b| ∣wTx+b∣能够相对地表示点 x x x距离超平面的远近;
- w T x + b w^Tx+b wTx+b与 y y y的符号是否一致能够表示分类是否正确。
所以可以用量 y ( w T x + b ) y(w^Tx+b) y(wTx+b) 表示分类的正确性及确信度,称为函数间隔。
但只要成比例地改变
w
w
w和
b
b
b,函数间隔也会成倍地发生变化, 因此要通过规范化使得间隔确定,函数间隔变为几何间隔:
γ
i
=
y
i
(
w
∣
∣
w
∣
∣
x
i
+
b
∣
∣
w
∣
∣
)
\gamma_i =y_i\left(\frac{w}{||w||}x_i+\frac{b}{||w||}\right)
γi=yi(∣∣w∣∣wxi+∣∣w∣∣b)
其中
∣
∣
w
∣
∣
||w||
∣∣w∣∣为
w
w
w的
L
2
L_2
L2范数。
函数间隔与几何间隔的关系为:
γ
=
γ
^
∣
∣
w
∣
∣
\gamma = \frac{\hat\gamma}{||w||}
γ=∣∣w∣∣γ^
如果 ∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣w∣∣=1,那么函数间隔和几何间隔想等,如果 w w w和 b b b成比例变化,函数间隔会改变,而几何间隔不变。
间隔最大化
线性可分分离超平面有无穷多个,但是几何间隔最大的分离超平面是唯一的,间隔最大化又称为硬间隔最大化。
求几何间隔最大的分离超平面等价于以下问题:
max
w
,
b
γ
s
.
t
.
y
i
(
w
∣
∣
w
∣
∣
x
i
+
b
∣
∣
w
∣
∣
)
≥
γ
,
i
=
1
,
2
,
.
.
.
,
N
\begin {aligned} &\max\limits_{w,b}\quad\gamma \\ &\\ &s.t.\quad y_i\left(\frac{w}{||w||}x_i+\frac{b}{||w||}\right) \ge \gamma,\quad i=1,2,...,N &\\ \end{aligned}
w,bmaxγs.t.yi(∣∣w∣∣wxi+∣∣w∣∣b)≥γ,i=1,2,...,N
利用函数间隔与几何间隔之间的关系,将问题改写为:
max
w
,
b
γ
^
∣
∣
w
∣
∣
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
γ
^
,
i
=
1
,
2
,
.
.
.
,
N
\begin {aligned} &\max\limits_{w,b}\quad\frac{\hat\gamma}{||w||} \\ &\\ &s.t.\quad y_i(w^Tx_i+b) \ge \hat\gamma,\quad i=1,2,...,N \end{aligned}
w,bmax∣∣w∣∣γ^s.t.yi(wTxi+b)≥γ^,i=1,2,...,N
函数间隔的取值并不影响最优化问题的求解,因此可以将
γ
^
=
1
\hat \gamma = 1
γ^=1代入上面的最优化问题,同时最大化
1
∣
∣
w
∣
∣
\frac{1}{||w||}
∣∣w∣∣1与最小化
1
2
∣
∣
w
∣
∣
2
\frac{1}{2}||w||^2
21∣∣w∣∣2是等价的,则有:
max
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
−
1
≥
0
,
i
=
1
,
2
,
.
.
.
,
N
\begin {aligned} &\max\limits_{w,b}\quad\frac{1}{2}||w||^2 \\ &\\ &s.t.\quad y_i(w^Tx_i+b)-1 \ge 0,\quad i=1,2,...,N \end{aligned}
w,bmax21∣∣w∣∣2s.t.yi(wTxi+b)−1≥0,i=1,2,...,N
拉格朗日对偶性
在约束最优化问题中,常常利用拉格朗日对偶性(Lagrance duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。
这样的优点是:
- 一是对偶问题更容易求解;
- 二是自然引入核函数,进而推广到非线性分类问题。
原始问题
假设
f
(
x
)
,
c
i
(
x
)
,
h
j
(
x
)
f(x), c_i(x), h_j(x)
f(x),ci(x),hj(x)是定义在
R
n
R^n
Rn上的连续可微函数。考虑约束最优化问题
min
x
∈
R
n
f
(
x
)
s
.
t
.
c
i
(
x
)
≤
0
,
i
=
1
,
2
,
.
.
.
,
k
h
j
(
x
)
=
0
,
j
=
1
,
2
,
.
.
.
,
l
\begin {aligned} &\min\limits_{x\in R^n}\quad f(x)\\ &\\ &s.t.\quad c_i(x) \le 0,\quad i=1,2,...,k &\\ &\qquad\ h_j(x) = 0, \quad j = 1,2,...,l \end{aligned}
x∈Rnminf(x)s.t.ci(x)≤0,i=1,2,...,k hj(x)=0,j=1,2,...,l
称此约束最优化问题为原始问题。
广义拉格朗日函数(generalized Lagrange function)
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) L(x,\alpha,\beta) = f(x) + \sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x) L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)
其中, α i , β i \alpha_i,\beta_i αi,βi是拉格朗日乘子,特别要求 α i ≥ 0 \alpha_i \ge 0 αi≥0.
考虑x的函数:
θ
p
(
x
)
=
max
α
,
β
:
α
i
≥
0
L
(
x
,
α
,
β
)
\theta_p(x) = \max\limits_{\alpha,\beta:\alpha_i\ge0}L(x,\alpha,\beta)
θp(x)=α,β:αi≥0maxL(x,α,β)
假设给定某个
x
x
x,如果
x
x
x违反原始问题的约束条件,即存在某个
i
i
i使得
c
i
(
x
)
>
0
c_i(x) > 0
ci(x)>0或者存在某个
j
j
j使得
h
j
(
x
)
=
̸
0
h_j(x) =\not 0
hj(x)≠0,那么就有:
θ
p
(
x
)
=
max
α
,
β
:
α
i
≥
0
[
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
]
=
+
∞
\theta_p(x) = \max\limits_{\alpha,\beta:\alpha_i\ge0}[ f(x) + \sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x)]=+\infty
θp(x)=α,β:αi≥0max[f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)]=+∞
- 若存在某个 i i i使得 c i ( x ) > 0 c_i(x) > 0 ci(x)>0,则可令 α i → + ∞ \alpha_i \rightarrow+\infty αi→+∞;
- 若存在某个 j j j使得 h j ( x ) = ̸ 0 h_j(x) =\not 0 hj(x)≠0,则可令 β j h j ( x ) → + ∞ \beta_jh_j(x)\rightarrow+\infty βjhj(x)→+∞;
- 而将其余各 α i , β j \alpha_i,\beta_j αi,βj均取为0。
结论为:
- 当 x x x违反原问题的约束条件时, θ P ( x ) = + ∞ \theta_P(x) = +\infty θP(x)=+∞;
- 当 x x x满足原问题的约束条件时, θ P ( x ) = f ( x ) \theta_P(x) = f(x) θP(x)=f(x).
在这个基础上再考虑极小化问题:
min
x
θ
p
(
x
)
=
min
x
max
α
,
β
:
α
i
≥
0
L
(
x
,
α
,
β
)
\min\limits_x\theta_p(x) = \min\limits_x\max\limits_{\alpha,\beta:\alpha_i\ge0}L(x,\alpha,\beta)
xminθp(x)=xminα,β:αi≥0maxL(x,α,β)
将原始最优化问题表示为广义拉格朗日函数的极小极大问题。
对偶问题
将广义拉格朗日函数的极大极小问题表示为约束最优化问题,称为原始问题的对偶问题:
max
α
,
β
min
x
L
(
x
,
α
,
β
)
s
.
t
.
α
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
k
\begin {aligned} &\max\limits_{\alpha,\beta}\min_x L(x,\alpha,\beta) &\\ &s.t.\quad \alpha_i \ge 0,\quad i=1,2,...,k \end{aligned}
α,βmaxxminL(x,α,β)s.t.αi≥0,i=1,2,...,k
原始问题和对偶问题的关系
满足Karush-Kuhn-Tucker(KKT)的条件下,原始问题和对偶问题的最优解相等,这时可以用解对偶问题替代解原始问题。
KKT条件
x
∗
x^*
x∗和
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗分别是KKT是原始问题和对偶问题的解的充分必要条件是
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗满足KKT条件:
▽
x
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
α
i
∗
c
i
(
x
∗
)
=
0
,
i
=
1
,
2
,
.
.
.
,
k
c
i
(
x
∗
)
≤
0
,
i
=
1
,
2
,
.
.
.
,
k
α
i
∗
≥
0
,
i
=
1
,
2
,
.
.
.
,
k
h
j
(
x
∗
)
=
0
,
j
=
1
,
2
,
.
.
.
,
l
\begin {aligned} &\bigtriangledown_xL(x^*,\alpha^*,\beta^*) = 0 &\\ &\\ &\alpha_i^*c_i(x^*) = 0, \quad i = 1,2,...,k &\\ &\\ &c_i(x^*) \le 0, \quad i = 1,2,...,k &\\ &\\ &\alpha_i^*\ge0,\quad i = 1,2,...,k &\\ &\\ &h_j(x^*)=0,\quad j = 1,2,...,l \end{aligned}
▽xL(x∗,α∗,β∗)=0αi∗ci(x∗)=0,i=1,2,...,kci(x∗)≤0,i=1,2,...,kαi∗≥0,i=1,2,...,khj(x∗)=0,j=1,2,...,l
其中,
α
i
∗
≥
0
,
i
=
1
,
2
,
.
.
.
,
k
\alpha_i^*\ge0,\quad i = 1,2,...,k
αi∗≥0,i=1,2,...,k 称为KKT的对偶互补条件。
由此条件可知:若
α
i
∗
>
0
,
则
c
i
(
x
∗
)
=
0
\alpha_i^*>0,则c_i(x^*) = 0
αi∗>0,则ci(x∗)=0.
SVM的对偶算法
结合SVM的约束最优化问题和广义拉格朗日函数,可以得出:
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
−
∑
i
=
1
N
a
i
y
i
(
w
T
x
i
+
b
)
+
∑
i
=
1
N
a
i
L(w,b,\alpha) = \frac{1}{2}||w||^2-\sum_{i=1}^Na_iy_i(w^Tx_i+b)+\sum_{i=1}^Na_i
L(w,b,α)=21∣∣w∣∣2−i=1∑Naiyi(wTxi+b)+i=1∑Nai
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
max
α
min
w
,
b
L
(
w
,
b
,
α
)
\max_\alpha \min_{w,b}L(w,b,\alpha)
αmaxw,bminL(w,b,α)
为了达到对偶问题的解,先求
L
(
w
,
b
,
a
)
L(w,b,a)
L(w,b,a)对w和b的极小,再求a的极大:
▽
w
=
w
−
∑
i
=
1
N
a
i
y
i
x
i
=
0
▽
b
=
−
∑
i
=
1
N
a
i
y
i
=
0
\begin {aligned} &\bigtriangledown_w=w-\sum_{i=1}^Na_iy_ix_i=0 \\ &\\ &\bigtriangledown_b=-\sum_{i=1}^Na_iy_i=0 \end{aligned}
▽w=w−i=1∑Naiyixi=0▽b=−i=1∑Naiyi=0
得:
w
=
∑
i
=
1
N
a
i
y
i
x
i
∑
i
=
1
N
a
i
y
i
=
0
\begin {aligned} &w=\sum_{i=1}^Na_iy_ix_i \\ &\sum_{i=1}^Na_iy_i=0 \end{aligned}
w=i=1∑Naiyixii=1∑Naiyi=0
将上式代入
L
(
w
,
b
,
a
)
L(w,b,a)
L(w,b,a),得:
min
L
(
w
,
b
,
a
)
=
1
2
∑
i
=
1
N
∑
j
=
1
N
a
i
a
j
y
i
y
j
(
x
i
⋅
x
j
)
−
∑
i
=
1
N
a
i
y
i
(
(
∑
j
=
1
N
a
j
y
j
x
j
)
⋅
x
i
+
b
)
+
∑
j
=
1
N
a
i
=
−
1
2
∑
i
=
1
N
∑
j
=
1
N
a
i
a
j
y
i
y
j
(
x
i
⋅
x
j
)
+
∑
j
=
1
N
a
i
\begin {aligned} \min L(w,b,a)&=\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_j(x_i\cdot x_j)-\sum_{i=1}^Na_iy_i((\sum_{j=1}^Na_jy_jx_j)\cdot x_i+b)+\sum_{j=1}^Na_i \\ &=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_j(x_i\cdot x_j) + \sum_{j=1}^Na_i \end{aligned}
minL(w,b,a)=21i=1∑Nj=1∑Naiajyiyj(xi⋅xj)−i=1∑Naiyi((j=1∑Najyjxj)⋅xi+b)+j=1∑Nai=−21i=1∑Nj=1∑Naiajyiyj(xi⋅xj)+j=1∑Nai
再求对
α
\alpha
α的极大,即是对偶问题:
max
a
−
1
2
∑
i
=
1
N
∑
j
=
1
N
a
i
a
j
y
i
y
j
(
x
i
⋅
x
j
)
+
∑
j
=
1
N
a
i
s
.
t
.
∑
i
=
1
N
a
i
y
i
=
0
a
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
N
\begin {aligned} &\max_{a}\quad-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_j(x_i\cdot x_j) + \sum_{j=1}^Na_i \\ &s.t. \quad\sum_{i=1}^Na_iy_i = 0 \\ & \quad \quad \quad a_i \ge0,\quad i=1,2,...,N \end{aligned}
amax−21i=1∑Nj=1∑Naiajyiyj(xi⋅xj)+j=1∑Nais.t.i=1∑Naiyi=0ai≥0,i=1,2,...,N
等价于:
min
a
1
2
∑
i
=
1
N
∑
j
=
1
N
a
i
a
j
y
i
y
j
(
x
i
⋅
x
j
)
−
∑
j
=
1
N
a
i
s
.
t
.
∑
i
=
1
N
a
i
y
i
=
0
a
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
N
\begin {aligned} &\min_{a}\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_j(x_i\cdot x_j) - \sum_{j=1}^Na_i \\ &s.t. \quad\sum_{i=1}^Na_iy_i = 0 \\ & \quad \quad \quad a_i \ge0,\quad i=1,2,...,N \end{aligned}
amin21i=1∑Nj=1∑Naiajyiyj(xi⋅xj)−j=1∑Nais.t.i=1∑Naiyi=0ai≥0,i=1,2,...,N
根据KKT条件:
▽
w
L
(
w
∗
,
b
∗
,
α
∗
)
=
w
∗
−
∑
i
=
1
N
a
i
∗
y
i
x
i
=
0
▽
b
L
(
w
∗
,
b
∗
,
α
∗
)
=
−
∑
i
=
1
N
a
i
∗
y
i
=
0
α
i
∗
(
1
−
y
i
(
w
∗
⋅
x
i
+
b
∗
)
)
=
0
,
i
=
1
,
2
,
.
.
.
,
N
1
−
y
i
(
w
∗
⋅
x
i
+
b
∗
)
≤
0
,
i
=
1
,
2
,
.
.
.
,
N
α
i
∗
≥
0
,
i
=
1
,
2
,
.
.
.
,
N
\begin {aligned} &\bigtriangledown_wL(w^*,b^*,\alpha^*) =w^*-\sum_{i=1}^Na_i^*y_ix_i = 0 &\\ &\\ &\bigtriangledown_bL(w^*,b^*,\alpha^*) =-\sum_{i=1}^Na_i^*y_i= 0 &\\ &\\ &\alpha_i^*(1-y_i(w^* \cdot x_i+b^*)) = 0, \quad i = 1,2,...,N &\\ &\\ &1-y_i(w^* \cdot x_i+b^*)\le 0, \quad i = 1,2,...,N &\\ &\\ &\alpha_i^*\ge0,\quad i = 1,2,...,N &\\ &\\ \end{aligned}
▽wL(w∗,b∗,α∗)=w∗−i=1∑Nai∗yixi=0▽bL(w∗,b∗,α∗)=−i=1∑Nai∗yi=0αi∗(1−yi(w∗⋅xi+b∗))=0,i=1,2,...,N1−yi(w∗⋅xi+b∗)≤0,i=1,2,...,Nαi∗≥0,i=1,2,...,N
其中至少有一个
a
j
∗
>
0
a_j^*>0
aj∗>0,对于
j
j
j有:
1
−
y
j
(
w
∗
⋅
x
j
+
b
∗
)
=
0
1-y_j(w^* \cdot x_j+b^*)=0
1−yj(w∗⋅xj+b∗)=0
解得:
w
∗
=
∑
i
=
1
N
a
i
∗
y
i
x
i
b
∗
=
y
j
−
∑
i
=
1
N
a
i
∗
y
i
(
x
i
⋅
x
j
)
\begin {aligned} &w^*=\sum_{i=1}^Na_i^*y_ix_i \\ &\\ &b^*=y_j-\sum_{i=1}^Na_i^*y_i(x_i\cdot x_j) \end{aligned}
w∗=i=1∑Nai∗yixib∗=yj−i=1∑Nai∗yi(xi⋅xj)
故分类决策函数为:
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
N
a
i
∗
y
i
(
x
⋅
x
i
)
+
b
∗
)
f(x) = sign( \sum_{i=1}^Na_i^*y_i(x\cdot x_i)+b^* )
f(x)=sign(i=1∑Nai∗yi(x⋅xi)+b∗)
参考资料
李航《统计学习方法》