一、接近线性可分的SVM问题的提出
在前文SVM算法(二)线性可分的SVM求解中,详细推导了对线性可分数据的超平面划分原理,同时也抛出了一个问题:若数据线性不可分,该如何处理?
本文将该问题进行一定程度的弱化,若数据接近线性可分,该如何求得合适的分隔面?
一种直观上的想法是:尽量保证原始线性可分数据的正确性,对分隔错误的样本点进行惩罚,即:
min
1
2
w
2
+
C
[
[
y
i
(
w
x
i
+
b
)
<
1
]
]
s
.
t
.
y
i
(
w
x
i
+
b
)
≥
1
\begin{aligned}&\min\frac{1}{2}w^2+C[[ y_i(wx_i+b)<1]]\\&s.t.\space \space y_i(wx_i+b)\ge1\end{aligned}
min21w2+C[[yi(wxi+b)<1]]s.t. yi(wxi+b)≥1该问题难以求解,不妨转换下思路:松弛样本点对分割面的距离要求,同时对松弛程度进行惩罚,即:
min
1
2
w
2
+
C
∑
i
=
1
n
ξ
i
s
.
t
.
y
i
(
w
x
i
+
b
)
≥
1
−
ξ
i
ξ
i
≥
0
\begin{aligned}&\min\frac{1}{2}w^2+C\sum\limits_{i=1}^n \xi_i \\&s.t.\space \space y_i(wx_i+b)\ge1-\xi_i\\ &\qquad \xi_i \ge0\end{aligned}
min21w2+Ci=1∑nξis.t. yi(wxi+b)≥1−ξiξi≥0式中
ξ
i
\xi_i
ξi即为对每个点间隔的松弛度,而
C
(
C
>
0
)
C(C>0)
C(C>0)为对松弛度的惩罚系数。通过这种设置,允许分隔面离部分点近(超过1),甚至划分错误。对应于线性可分中的硬间隔(hard margin),这里的间隔称为软间隔(soft margin)。
二、接近线性可分的SVM问题的原始问题和对偶问题
与线性可分的SVM问题类似,构造广义拉格朗日朗日函数:
L
(
w
,
b
,
ξ
,
α
,
μ
)
=
1
2
w
2
+
C
∑
i
=
1
n
ξ
i
+
∑
i
n
α
i
(
1
−
ξ
i
−
y
i
(
w
x
i
+
b
)
)
−
∑
i
=
1
n
μ
i
ξ
i
,
α
≥
0
,
μ
≥
0
,
ξ
≥
0
L(w,b,\xi,\alpha,\mu)=\frac{1}{2}w^2+C\sum\limits_{i=1}^n \xi_i+\sum\limits_i^n\alpha_i(1-\xi_i-y_i(wx_i+b))-\sum\limits_{i=1}^n \mu_i\xi_i,\alpha\ge0,\mu\ge0,\xi\ge0
L(w,b,ξ,α,μ)=21w2+Ci=1∑nξi+i∑nαi(1−ξi−yi(wxi+b))−i=1∑nμiξi,α≥0,μ≥0,ξ≥0原始问题可表示为:
min
w
,
b
,
ξ
max
α
,
μ
L
(
w
,
b
,
ξ
,
α
,
μ
)
\min_{w,b,\xi}\max_{\alpha,\mu}L(w,b,\xi,\alpha,\mu)
w,b,ξminα,μmaxL(w,b,ξ,α,μ)对偶问题可表示为
max
α
,
μ
min
w
,
b
,
ξ
L
(
w
,
b
,
ξ
,
α
,
μ
)
\max_{\alpha,\mu}\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)
α,μmaxw,b,ξminL(w,b,ξ,α,μ)根据使得原始问题和对偶问题解相同的KKT条件,最优解
w
∗
,
b
∗
,
ξ
∗
w^*,b^*,\xi^*
w∗,b∗,ξ∗满足:
∇
w
∗
L
(
w
∗
,
b
∗
,
ξ
∗
,
α
,
μ
)
=
w
∗
−
∑
i
=
1
n
α
i
x
i
y
i
=
0
∇
b
∗
L
(
w
∗
,
b
∗
,
ξ
∗
,
α
,
μ
)
=
∑
i
=
1
n
α
i
y
i
=
0
∇
ξ
∗
L
(
w
∗
,
b
∗
,
ξ
∗
,
α
,
μ
)
=
C
−
α
i
−
μ
i
=
0
α
i
(
1
−
ξ
i
∗
−
y
i
(
w
∗
x
i
+
b
∗
)
)
=
0
1
−
ξ
i
∗
−
y
i
(
w
∗
x
i
+
b
∗
)
≤
0
α
i
≥
0
μ
i
ξ
i
∗
=
0
ξ
i
∗
≥
0
μ
i
≥
0
\begin{aligned} &\nabla_{w^*}L(w^*,b^*,\xi^*,\alpha,\mu)=w^*-\sum\limits_{i=1}^n \alpha_ix_iy_i=0\\ & \nabla_{b^*}L(w^*,b^*,\xi^*,\alpha,\mu)=\sum\limits_{i=1}^n \alpha_iy_i=0\\&\nabla_{\xi^*}L(w^*,b^*,\xi^*,\alpha,\mu)=C-\alpha_i-\mu_i=0\\& \alpha_i(1-\xi_i^*-y_i(w^*x_i+b^*))=0\\& 1-\xi_i^*-y_i(w^*x_i+b^*)\le0\\&\alpha_i\ge0\\&\mu_i\xi_i^*=0\\&\xi_i^*\ge0\\& \mu_i\ge0\end{aligned}
∇w∗L(w∗,b∗,ξ∗,α,μ)=w∗−i=1∑nαixiyi=0∇b∗L(w∗,b∗,ξ∗,α,μ)=i=1∑nαiyi=0∇ξ∗L(w∗,b∗,ξ∗,α,μ)=C−αi−μi=0αi(1−ξi∗−yi(w∗xi+b∗))=01−ξi∗−yi(w∗xi+b∗)≤0αi≥0μiξi∗=0ξi∗≥0μi≥0将这些条件代入对偶问题:
min
w
∗
,
b
∗
,
ξ
∗
L
(
w
∗
,
b
∗
,
ξ
∗
,
α
,
μ
)
=
1
2
w
∗
2
+
(
C
−
α
i
−
μ
i
)
∑
i
=
1
n
ξ
i
∗
+
∑
i
=
1
n
α
i
−
w
∗
∑
i
=
1
n
α
i
x
i
y
i
−
b
∗
∑
i
=
1
n
α
i
y
i
=
−
1
2
w
∗
2
+
∑
i
=
1
n
α
i
\begin{aligned}&\min_{w^*,b^*,\xi^*}L(w^*,b^*,\xi^*,\alpha,\mu)\\=&\frac{1}{2}w^{*2}+(C-\alpha_i-\mu_i)\sum\limits_{i=1}^n \xi_i^*+\sum\limits_{i=1}^n\alpha_i-w^*\sum\limits_{i=1}^n\alpha_ix_iy_i-b^*\sum\limits_{i=1}^n\alpha_iy_i\\=&-\frac{1}{2}w^{*2}+\sum\limits_{i=1}^n\alpha_i\end{aligned}
==w∗,b∗,ξ∗minL(w∗,b∗,ξ∗,α,μ)21w∗2+(C−αi−μi)i=1∑nξi∗+i=1∑nαi−w∗i=1∑nαixiyi−b∗i=1∑nαiyi−21w∗2+i=1∑nαi因此,对偶问题可改写为:
max
α
,
μ
min
w
∗
,
b
∗
,
ξ
∗
L
(
w
∗
,
b
∗
,
ξ
∗
,
α
,
μ
)
=
min
C
≥
α
i
≥
0
,
μ
i
=
C
−
α
i
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
(
x
i
x
j
)
−
∑
i
=
1
n
α
i
\begin{aligned}&\max_{\alpha,\mu}\min_{w^*,b^*,\xi^*}L(w^*,b^*,\xi^*,\alpha,\mu)\\&=\min_{C\ge\alpha_i\ge0,\mu_i=C-\alpha_i}\frac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n\alpha_i\alpha_jy_iy_j(x_ix_j)-\sum\limits_{i=1}^n\alpha_i\end{aligned}
α,μmaxw∗,b∗,ξ∗minL(w∗,b∗,ξ∗,α,μ)=C≥αi≥0,μi=C−αimin21i=1∑nj=1∑nαiαjyiyj(xixj)−i=1∑nαi这是个典型的二次规划问题,可求解最优的
α
i
\alpha_i
αi,从而得到:
w
∗
=
∑
i
=
1
n
α
i
x
i
y
i
w^*=\sum\limits_{i=1}^n \alpha_ix_iy_i
w∗=i=1∑nαixiyi至于如何求得最优的
b
∗
b^*
b∗,可观察两个对偶互补条件
μ
i
ξ
i
∗
=
0
α
i
(
1
−
ξ
i
∗
−
y
i
(
w
∗
x
i
+
b
∗
)
)
=
0
\begin{aligned}& \mu_i\xi_i^*=0\\&\alpha_i(1-\xi_i^*-y_i(w^*x_i+b^*))=0\end{aligned}
μiξi∗=0αi(1−ξi∗−yi(w∗xi+b∗))=0若取某个点
k
k
k,其满足
0
<
α
k
<
C
0<\alpha_k<C
0<αk<C,则
0
<
μ
k
=
C
−
α
k
<
C
0<\mu_k=C-\alpha_k<C
0<μk=C−αk<C,此时
ξ
k
∗
=
0
\xi_k^*=0
ξk∗=0,这意味着分隔面能够争取分类(无须添加额外的松弛项
ξ
\xi
ξ),所以:
b
∗
=
y
k
−
w
∗
x
k
b^*=y_k-w^*x_k
b∗=yk−w∗xk最终用于判断新样本点分类的函数可表示为:
s
i
g
n
(
∑
i
=
1
n
α
i
y
i
(
x
i
∗
x
)
+
b
∗
)
sign(\sum\limits_{i=1}^n \alpha_iy_i(x_i*x)+b^*)
sign(i=1∑nαiyi(xi∗x)+b∗)
上述最优解,与线性可分的SVM结果非常类似,只是由于引入了软间隔参数
ξ
\xi
ξ,所以对偶问题参数
α
\alpha
α不光需要大于0,还受到上限
C
C
C的约束。
同样的,通过引入核技巧,上述推导可拓展到非线性特征空间内SVM问题。
三、接近线性可分的SVM中的三类点
基于接近线性可分的SVM对偶问题中的松弛条件,可判断数据点和分隔超平面的三种关系:
μ
i
ξ
i
=
0
α
i
(
1
−
ξ
i
−
y
i
(
w
x
i
+
b
)
)
=
0
\begin{aligned}& \mu_i\xi_i=0\\&\alpha_i(1-\xi_i-y_i(wx_i+b))=0\end{aligned}
μiξi=0αi(1−ξi−yi(wxi+b))=0
(1)
α
i
=
0
,
μ
i
=
C
,
ξ
i
=
0
,
y
i
(
w
x
i
+
b
)
≥
1
\alpha_i=0,\mu_i=C,\xi_i=0,y_i(wx_i+b)\ge1
αi=0,μi=C,ξi=0,yi(wxi+b)≥1。对应于分隔争取的远离软间隔区域内的点,如上图中的判断争取的“x”和“o”
(2)
C
>
α
i
>
0
,
C
>
μ
i
>
0
,
ξ
i
=
0
,
y
i
(
w
x
i
+
b
)
=
1
C>\alpha_i>0,C>\mu_i>0,\xi_i=0,y_i(wx_i+b)=1
C>αi>0,C>μi>0,ξi=0,yi(wxi+b)=1。软间隔线上的点,如上图中的方框点。
(3)
α
i
=
C
,
μ
i
=
0
,
ξ
i
>
0
,
y
i
(
w
x
i
+
b
)
=
1
−
ξ
i
\alpha_i=C,\mu_i=0,\xi_i>0,y_i(wx_i+b)=1-\xi_i
αi=C,μi=0,ξi>0,yi(wxi+b)=1−ξi。分隔错误的点,如上图中三角形内点。
这意味着
α
i
\alpha_i
αi的取值范围决定了数据点与分隔面的空间关系。