间隔与支持向量
对于存在可以将两类训练样本分开的多个划分超平面,划分超平面距离样本的距离越远,那么这个划分超平面产生的分类结果是最鲁棒的,对未见示例的泛化能力越强。
超平面的表述:
ω
T
x
+
b
=
0
\boldsymbol{\omega}^T\boldsymbol{x} + b = 0
ωTx+b=0
ω
\boldsymbol{\omega}
ω 为法向量,决定了超平面的方向;
b
b
b 为位移项,决定了超平面与原点之间的距离。
任意样本点到超平面的距离可写为:
r
=
∣
ω
T
x
+
b
∣
∣
∣
ω
∣
∣
r = \frac{ |\boldsymbol{\omega}^T\boldsymbol{x} + b |}{||\omega||}
r=∣∣ω∣∣∣ωTx+b∣
假设超平面(
ω
\boldsymbol{\omega}
ω,
b
b
b)可以将训练样本正确分类,即对于(
x
i
\boldsymbol{x}_i
xi,
y
i
y_i
yi)
∈
D
\in D
∈D,若
y
i
=
+
1
y_i = +1
yi=+1,则有
ω
T
x
+
b
>
0
\boldsymbol{\omega}^T\boldsymbol{x} + b > 0
ωTx+b>0;若
y
i
=
−
1
y_i = -1
yi=−1,则有
ω
T
x
+
b
<
0
\boldsymbol{\omega}^T\boldsymbol{x} + b < 0
ωTx+b<0。令
ω
T
x
i
+
b
≥
+
1
,
y
i
=
+
1
;
\boldsymbol{\omega}^T\boldsymbol{x}_i + b \ge +1,\quad y_i = +1;
ωTxi+b≥+1,yi=+1;
ω
T
x
i
+
b
≤
+
1
,
y
i
=
−
1
;
\boldsymbol{\omega}^T\boldsymbol{x}_i + b \le +1,\quad y_i = -1;
ωTxi+b≤+1,yi=−1;
距离超平面最近的这几个训练样本点使等号成立,被称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和
γ
=
2
∣
∣
ω
∣
∣
\gamma = \frac{2}{||\omega||}
γ=∣∣ω∣∣2称为“间隔”。
要找到最大间隔的划分超平面
max
ω
,
b
2
∣
∣
ω
∣
∣
\max_{\boldsymbol{\omega}, b}\frac{2}{||\omega||}
ω,bmax∣∣ω∣∣2
s.t.
        
y
i
(
ω
T
x
i
+
b
)
≥
1
\text{s.t.} \;\;\;\;y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 1
s.t.yi(ωTxi+b)≥1
该问题等价为
min
ω
,
b
1
2
∣
∣
ω
∣
∣
2
\min_{\boldsymbol{\omega}, b}\frac{1}{2}||\boldsymbol{\omega}||^2
ω,bmin21∣∣ω∣∣2
s.t.
        
y
i
(
ω
T
x
i
+
b
)
≥
1
\text{s.t.} \;\;\;\;y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 1
s.t.yi(ωTxi+b)≥1
对偶问题
利用拉格朗日乘子法求解对偶问题
L
(
ω
,
b
,
α
)
=
1
2
∣
∣
ω
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
ω
T
x
i
+
b
)
)
L(\boldsymbol{\omega}, b , \boldsymbol{\alpha}) =\frac{1}{2}||\boldsymbol{\omega}||^2+ \sum_{i=1}^{m} \alpha_i(1-y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b))
L(ω,b,α)=21∣∣ω∣∣2+i=1∑mαi(1−yi(ωTxi+b))
令
L
L
L 对
ω
\boldsymbol{\omega}
ω 和
b
b
b 偏导为0
ω
=
∑
i
=
1
m
α
i
y
i
x
i
\boldsymbol{\omega} = \sum_{i=1}^m \alpha_iy_i\boldsymbol{x}_i
ω=i=1∑mαiyixi
0
=
∑
I
=
1
m
α
i
y
i
0 = \sum_{I=1}^m \alpha_iy_i
0=I=1∑mαiyi
带入原式
L
=
1
2
∑
i
=
1
m
∑
j
=
1
m
a
i
a
j
y
i
y
j
x
i
T
x
j
+
∑
i
=
1
m
α
i
−
∑
i
=
1
m
α
i
y
i
(
∑
j
=
1
m
α
j
y
j
x
i
T
x
j
+
b
)
L = \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j + \sum_{i=1}^m\alpha_i - \sum_{i=1}^m\alpha_iy_i(\sum_{j=1}^m \alpha_jy_j\boldsymbol{x}_i^T\boldsymbol{x}_j + b)
L=21i=1∑mj=1∑maiajyiyjxiTxj+i=1∑mαi−i=1∑mαiyi(j=1∑mαjyjxiTxj+b)
=
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
a
i
a
j
y
i
y
j
x
i
T
x
j
−
b
∑
i
=
1
m
α
i
y
i
= \sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j - b \sum_{i=1}^m \alpha_iy_i
=i=1∑mαi−21i=1∑mj=1∑maiajyiyjxiTxj−bi=1∑mαiyi
=
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
a
i
a
j
y
i
y
j
x
i
T
x
j
= \sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j
=i=1∑mαi−21i=1∑mj=1∑maiajyiyjxiTxj
s.t.
∑
i
=
1
m
α
i
y
i
=
0
\text{s.t.}\quad\sum_{i=1}^m\alpha_iy_i = 0
s.t.i=1∑mαiyi=0
对偶问题与原问题解一致需要满足
K
K
T
KKT
KKT 条件,即
α
i
≥
0
\alpha_i \ge 0
αi≥0
y
i
f
(
x
i
)
−
1
≥
0
y_if(\boldsymbol{x}_i) - 1 \ge 0
yif(xi)−1≥0
α
i
(
y
i
f
(
x
i
−
1
)
=
0
\alpha_i(y_if(\boldsymbol{x}_i - 1) = 0
αi(yif(xi−1)=0
由
K
K
T
KKT
KKT 条件可以看出,样本必须满足
α
i
=
0
\alpha_i = 0
αi=0 或
y
i
f
(
x
i
)
=
1
y_if(\boldsymbol{x}_i) = 1
yif(xi)=1,若
α
i
=
0
\alpha_i = 0
αi=0,那么该样本对结果的求解没有影响;若 $\alpha > 0 $,那么该样本位于最大间隔边界上,是一个支持向量。所以训练完成后大部分样本都不需要保留,最终模型只与支持向量有关。
对偶问题求解
S
M
O
SMO
SMO 算法:选取两个变量
α
i
\alpha_i
αi、
α
j
\alpha_j
αj,使两个变量对应的样本之间的间隔最大;固定
α
i
\alpha_i
αi、
α
j
\alpha_j
αj 之外的所有参数,求解对偶问题,获得更新后的
α
i
\alpha_i
αi、
α
j
\alpha_j
αj。
ω
\boldsymbol{\omega}
ω的确定:
ω
=
∑
i
=
1
m
α
i
y
i
x
i
\boldsymbol{\omega} = \sum_{i=1}^m\alpha_iy_i\boldsymbol{x}_i
ω=i=1∑mαiyixi
偏移项
b
b
b 的确定:
设
S
=
{
i
  
∣
  
α
i
>
0
,
  
i
=
1
,
2
,
⋯
 
,
m
}
S = \{ i\;|\;\alpha_i > 0,\;i = 1, 2, \cdots, m \}
S={i∣αi>0,i=1,2,⋯,m}
b
=
1
∣
S
∣
∑
s
∈
S
(
1
/
y
s
−
∑
i
∈
S
α
i
y
i
x
i
T
x
s
)
b = \frac{1}{|S|}\sum_{s \in S}\left( 1/y_s- \sum_{i \in S}\alpha_iy_i\boldsymbol{x}_i^T\boldsymbol{x}_s\right)
b=∣S∣1s∈S∑(1/ys−i∈S∑αiyixiTxs)
核函数
对于原本样本空间不可分的分类问题,可将样本映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分
划分超平面所对应的模型:
f
(
x
)
=
ω
T
ϕ
(
x
)
+
b
f(\boldsymbol{x}) = \boldsymbol{\omega}^T\phi(\boldsymbol{x}) + b
f(x)=ωTϕ(x)+b
原问题转化为:
min
ω
,
b
1
2
∣
∣
ω
∣
∣
2
\min_{\boldsymbol{\omega}, b}\frac{1}{2}||\boldsymbol{\omega}||^2
ω,bmin21∣∣ω∣∣2
s.t.
        
y
i
(
ω
T
ϕ
(
x
i
)
+
b
)
≥
1
\text{s.t.} \;\;\;\;y_i(\boldsymbol{\omega}^T\phi(\boldsymbol{x}_i) + b) \ge 1
s.t.yi(ωTϕ(xi)+b)≥1
对偶问题:
max
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
a
i
a
j
y
i
y
j
ϕ
(
x
i
)
T
ϕ
(
x
j
)
\max_{\alpha}\sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j)
αmaxi=1∑mαi−21i=1∑mj=1∑maiajyiyjϕ(xi)Tϕ(xj)
s.t.
∑
i
=
1
m
α
i
y
i
=
0
\text{s.t.}\quad\sum_{i=1}^m\alpha_iy_i = 0
s.t.i=1∑mαiyi=0
α
i
≥
0
\alpha_i \ge 0
αi≥0
由于计算
ϕ
(
x
i
)
T
ϕ
(
x
j
)
\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j)
ϕ(xi)Tϕ(xj) 困难,设
κ
(
x
i
,
x
j
)
=
<
ϕ
(
x
i
)
,
ϕ
(
x
j
)
>
=
ϕ
(
x
i
)
T
ϕ
(
x
j
)
\kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) = < \phi(\boldsymbol{x}_i), \phi(\boldsymbol{x}_j)> = \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j)
κ(xi,xj)=<ϕ(xi),ϕ(xj)>=ϕ(xi)Tϕ(xj)
那么对偶问题可重写为
max
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
a
i
a
j
y
i
y
j
κ
(
x
i
,
x
j
)
\max_{\alpha}\sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\kappa(\boldsymbol{x}_i, \boldsymbol{x}_j)
αmaxi=1∑mαi−21i=1∑mj=1∑maiajyiyjκ(xi,xj)
s.t.
∑
i
=
1
m
α
i
y
i
=
0
\text{s.t.}\quad\sum_{i=1}^m\alpha_iy_i = 0
s.t.i=1∑mαiyi=0
α
i
≥
0
\alpha_i \ge 0
αi≥0
求解后可以得到
f
(
x
)
=
ω
T
ϕ
(
x
)
+
b
=
∑
i
=
1
m
α
i
y
i
ϕ
(
x
i
)
T
ϕ
(
x
)
+
b
=
∑
i
=
1
m
α
i
y
i
κ
(
x
,
x
i
)
+
b
f(\boldsymbol{x}) = \boldsymbol{\omega}^T\phi(\boldsymbol{x}) + b = \sum_{i=1}^m\alpha_iy_i\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x} ) + b = \sum_{i=1}^m \alpha_iy_i\kappa(\boldsymbol{x}, \boldsymbol{x_i}) + b
f(x)=ωTϕ(x)+b=i=1∑mαiyiϕ(xi)Tϕ(x)+b=i=1∑mαiyiκ(x,xi)+b
核函数的性质:
- 两个核函数的线性组合为核函数
- 两个核函数的直积为核函数 κ 1 ⊗ κ 2 ( x , z ) = κ 1 ( x , z ) κ 2 ( x , z ) \kappa_1 \otimes \kappa_2(\boldsymbol{x,z}) = \kappa_1(\boldsymbol{x,z})\kappa_2(\boldsymbol{x,z}) κ1⊗κ2(x,z)=κ1(x,z)κ2(x,z)
- 若 κ 1 \kappa_1 κ1 是核函数,则对于任意函数 g ( x ) g(\boldsymbol{x}) g(x), κ ( ( x , z ) = g ( x ) κ 1 ( ( x , z ) g ( z ) \kappa((\boldsymbol{x,z}) = g(\boldsymbol{x}) \kappa_1((\boldsymbol{x,z})g(\boldsymbol{z}) κ((x,z)=g(x)κ1((x,z)g(z)也是核函数
软间隔与正则化
软间隔:允许部分样本不满足约束条件
y
i
(
ω
T
x
i
+
b
)
≥
1
y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 1
yi(ωTxi+b)≥1,因此在最大化间隔的同时,不满足约束条件的样本尽可能的少。
优化目标函数变为
min
ω
,
b
1
2
∣
∣
ω
∣
∣
2
+
C
∑
i
=
1
m
ℓ
0
/
1
(
y
i
(
ω
T
x
i
+
b
)
−
1
)
\min_{\boldsymbol{\omega}, b} \frac{1}{2}||\boldsymbol{\omega}||^2 + C\sum_{i=1}^m\ell_{0/1}(y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b)-1)
ω,bmin21∣∣ω∣∣2+Ci=1∑mℓ0/1(yi(ωTxi+b)−1)
ℓ
0
/
1
\ell_{0/1}
ℓ0/1是指若样本不满约束条件时为1,否则为0。通常我们使用数学性质好的(凸的连续函数)来代替
ℓ
0
/
1
\ell_{0/1}
ℓ0/1 称为“替代损失”(
s
u
r
r
o
g
a
t
e
  
l
o
s
s
surrogate\;loss
surrogateloss)
使用“松弛变量”代替损失函数:
min
ω
,
b
1
2
∣
∣
ω
∣
∣
2
+
C
∑
i
=
1
m
ξ
i
\min_{\boldsymbol{\omega}, b} \frac{1}{2}||\boldsymbol{\omega}||^2 + C\sum_{i=1}^m\xi_i
ω,bmin21∣∣ω∣∣2+Ci=1∑mξi
s.t.
y
i
(
ω
T
x
i
+
b
)
≥
1
−
ξ
i
\text{s.t.}\quad y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i + b) \ge 1- \xi_i
s.t.yi(ωTxi+b)≥1−ξi
ξ
i
≥
0
,
i
=
1
,
2
,
⋯
 
,
m
\xi_i \ge 0, \quad i = 1, 2, \cdots,m
ξi≥0,i=1,2,⋯,m
这就是“软间隔支持向量机”