小白学机器学习西瓜书-第六章支持向量机3
在前面的讨论中,我们一直做了一个假定,即存在一个超平面能够将不同类的样本完全进行区分。但这个假定显然是比较绝对的,因此我们需要允许算法分类的一些样本出错,这就是“软间隔”。
6.6 软间隔与正则化
前面我们提出的约束为
{ w T x i + b ≥ 1 y i = + 1 w T x i + b ≤ − 1 y i = − 1 (4) \begin{cases} w^Tx_i+b\geq 1 & y_i=+1\\ w^Tx_i+b\leq -1 &y_i=-1 \tag{4} \end{cases} {wTxi+b≥1wTxi+b≤−1yi=+1yi=−1(4)
这里的含义是指所有的样本点均划分正确,称为硬间隔。
我们将其归纳为 s . t . y i ( w T x i + b ) ≥ 1 s.t. \quad y_i(w^Tx_i+b)\geq 1 s.t.yi(wTxi+b)≥1
我们将目标函数进行修改,使得在最大化间隔的同时,使得不满足约束的样本尽可能的少
min
w
,
b
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
l
0
/
1
(
y
i
(
w
T
x
i
+
b
)
−
1
)
(21)
\min_{w,b}\frac{1}{2}\mid \mid w\mid\mid^2+C\sum^m_{i=1}l_{0/1}(y_i(w^Tx_i+b)-1)\tag{21}
w,bmin21∣∣w∣∣2+Ci=1∑ml0/1(yi(wTxi+b)−1)(21)
其中,C为惩罚常数,
l
0
/
1
l_{0/1}
l0/1为损失函数,当样本分类正确,则z值为0,否则为1
l
0
/
1
(
z
)
=
{
1
i
f
z
<
0
0
o
t
h
e
r
w
i
s
e
(22)
l_{0/1}(z)=\begin{cases} 1 & if \quad z<0\\ 0&otherwise \tag{22} \end{cases}
l0/1(z)={10ifz<0otherwise(22)
当C为无穷大时,式(21)就会迫使所有样本满足约束条件,目标函数就会退化为之前的硬间隔,但当C取有限值时,算法会允许一些样本不满足约束条件。
但
l
0
/
1
l_{0/1}
l0/1这个损失函数非凸不连续,因此我们寻找替代函数,如hinge损失
l
h
i
n
g
e
(
z
)
=
max
(
0
,
1
−
z
)
l_{hinge(z)}=\max(0,1-z)
lhinge(z)=max(0,1−z)
则式(21)变为
min
w
,
b
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
max
(
0
,
1
−
y
i
(
w
T
x
i
+
b
)
)
(23)
\min_{w,b}\frac{1}{2}\mid \mid w\mid\mid^2+C\sum^m_{i=1}\max(0,1-y_i(w^Tx_i+b))\tag{23}
w,bmin21∣∣w∣∣2+Ci=1∑mmax(0,1−yi(wTxi+b))(23)
使式子更加简约,我们引入松弛变量
令 ξ i = max ( 0 , 1 − y i ( w T x i + b ) ) ≥ 0 \xi_i=\max(0,1-y_i(w^Tx_i+b)) \geq 0 ξi=max(0,1−yi(wTxi+b))≥0
- 当 1 − y i ( w T x i + b ) > 0 1-y_i(w^Tx_i+b) > 0 1−yi(wTxi+b)>0时, ξ i = 1 − y i ( w T x i + b ) \xi_i=1-y_i(w^Tx_i+b) ξi=1−yi(wTxi+b)
- 当 1 − y i ( w T x i + b ) ≤ 0 1-y_i(w^Tx_i+b) \leq 0 1−yi(wTxi+b)≤0时, ξ i = 0 \xi_i=0 ξi=0
因此, ξ i ≥ 1 − y i ( w T x i + b ) \xi_i\geq1-y_i(w^Tx_i+b) ξi≥1−yi(wTxi+b)
整合一下即为
min
w
,
b
,
ξ
i
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ξ
i
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
ξ
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
m
(24)
\min_{w,b,\xi_i}\frac{1}{2}\mid \mid w\mid\mid^2+C\sum^m_{i=1}\xi_i\\ s.t.\quad y_i(w^Tx_i+b)\geq 1-\xi_i\\ \quad\quad\xi_i\geq 0,i=1,2,...,m \tag{24}
w,b,ξimin21∣∣w∣∣2+Ci=1∑mξis.t.yi(wTxi+b)≥1−ξiξi≥0,i=1,2,...,m(24)
继续寻找其对偶问题求解
其拉格朗日函数(
α
,
μ
\alpha,\mu
α,μ为乘子)为
L
(
w
,
b
,
α
,
ξ
,
μ
)
=
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ξ
i
+
∑
i
=
1
m
α
i
(
1
−
ξ
i
−
y
i
(
w
T
x
i
+
b
)
)
−
∑
i
=
1
m
μ
i
ξ
i
(25)
L(w,b,\alpha,\xi,\mu)=\frac{1}{2}\mid \mid w\mid\mid^2+C\sum^m_{i=1}\xi_i+\sum^m_{i=1}\alpha_i(1-\xi_i-y_i(w^Tx_i+b))\\ -\sum^m_{i=1}\mu_i\xi_i\tag{25}
L(w,b,α,ξ,μ)=21∣∣w∣∣2+Ci=1∑mξi+i=1∑mαi(1−ξi−yi(wTxi+b))−i=1∑mμiξi(25)
为了求拉格朗日函数关于自变量的最小值,我们分别对
(
w
,
b
,
ξ
i
)
(w,b,\xi_i)
(w,b,ξi)求偏导
l
∂
w
=
w
−
∑
i
=
1
m
α
i
y
i
x
i
l
∂
b
=
−
∑
i
=
1
m
α
i
y
i
l
∂
ξ
i
=
C
−
α
i
−
μ
i
\frac{l}{\partial w}=w-\sum^m_{i=1}\alpha_iy_ix_i\\\ \frac{l}{\partial b}=-\sum^m_{i=1}\alpha_iy_i\\ \frac{l}{\partial \xi_i}=C-\alpha_i-\mu_i
∂wl=w−i=1∑mαiyixi ∂bl=−i=1∑mαiyi∂ξil=C−αi−μi
使他们都为0,可得到
{
w
=
∑
i
=
1
m
α
i
y
i
x
i
∑
i
=
1
m
α
i
y
i
=
0
α
i
+
μ
i
=
C
(26)
\begin{cases} w=\sum^m_{i=1}\alpha_iy_ix_i\\ \sum^m_{i=1}\alpha_iy_i=0\\ \alpha_i+\mu_i=C \tag{26} \end{cases}
⎩
⎨
⎧w=∑i=1mαiyixi∑i=1mαiyi=0αi+μi=C(26)
将其带入式(25)即可得到对偶问题
max
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
s
.
t
.
∑
i
=
1
m
α
i
y
i
=
0
C
≥
α
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
m
(27)
\max_{\alpha}\sum^m_{i=1}\alpha_i-\frac{1}{2}\sum^m_{i=1}\sum^m_{j=1}\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t.\quad \sum^m_{i=1}\alpha_iy_i=0\\ \quad\quad\quad\quad C\geq \alpha_i\geq 0,i=1,2,...,m \tag{27}
αmaxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxjs.t.i=1∑mαiyi=0C≥αi≥0,i=1,2,...,m(27)
对比一下硬间隔的对偶问题
max ( ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j ) s . t . ∑ i = 1 m α i y i = 0 α i ≥ 0 , i = 1 , 2... , m (17) \qquad \qquad\max(\sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i \alpha_j y_iy_jx_i^Tx_j)\\ s.t.\quad \sum_{i=1}^m\alpha_i y_i=0\\ \quad \quad \quad \quad \quad\quad \alpha_i \geq 0,i=1,2...,m \tag{17} max(i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj)s.t.i=1∑mαiyi=0αi≥0,i=1,2...,m(17)
可以发现,区别主要在于 α \alpha α的取值
接下来给出KKT条件
{
1
−
ξ
i
−
y
i
(
w
T
x
i
+
b
)
≤
0
α
i
(
1
−
ξ
i
−
y
i
(
w
T
x
i
+
b
)
)
=
0
ξ
i
≥
0
α
i
≥
0
μ
i
≥
0
μ
i
ξ
i
=
0
(28)
\begin{cases} 1-\xi_i-y_i(w^Tx_i+b)\leq 0\\ \alpha_i(1-\xi_i-y_i(w^Tx_i+b))=0\\ \xi_i\geq 0\\ \alpha_i\geq0\\ \mu_i\geq0\\ \mu_i\xi_i=0 \tag{28} \end{cases}
⎩
⎨
⎧1−ξi−yi(wTxi+b)≤0αi(1−ξi−yi(wTxi+b))=0ξi≥0αi≥0μi≥0μiξi=0(28)
=>
{
1
−
ξ
i
−
y
i
f
(
x
i
)
≤
0
α
i
(
1
−
ξ
i
−
y
i
f
(
x
i
)
)
=
0
ξ
i
≥
0
α
i
≥
0
μ
i
≥
0
μ
i
ξ
i
=
0
(29)
\begin{cases} 1-\xi_i-y_if(x_i)\leq 0\\ \alpha_i(1-\xi_i-y_if(x_i))=0\\ \xi_i\geq 0\\ \alpha_i\geq0\\ \mu_i\geq0\\ \mu_i\xi_i=0 \tag{29} \end{cases}
⎩
⎨
⎧1−ξi−yif(xi)≤0αi(1−ξi−yif(xi))=0ξi≥0αi≥0μi≥0μiξi=0(29)
对于任意样本,总有 α i = 0 \alpha_i=0 αi=0 or 1 − ξ i − y i f ( x i ) = 0 1-\xi_i-y_if(x_i)=0 1−ξi−yif(xi)=0
- 如果 α i = 0 \alpha_i=0 αi=0,对 f ( x ) f(x) f(x)没有影响,如果 α i > 0 \alpha_i>0 αi>0,那么 1 − ξ i − y i f ( x i ) = 0 1-\xi_i-y_if(x_i)=0 1−ξi−yif(xi)=0,那么该样本为支持向量
- 有式(26)可知,若 α i < C \alpha_i<C αi<C,则 μ i > 0 \mu_i>0 μi>0,进而 ξ i = 0 \xi_i=0 ξi=0,即该样本在最大间隔边界上。
- 若 α i = C \alpha_i=C αi=C,则 μ i = 0 \mu_i=0 μi=0,此时 ξ i ≤ 1 \xi_i\leq1 ξi≤1,则该样本落在最大间隔边界内部,若 ξ i > 1 \xi_i>1 ξi>1,则该样本被错误分类