1. 为什么SVM问题中的正类y=-1,负类y=1
我们知道任一点到超平面的距离为
∣
w
T
x
+
b
∣
∣
∣
w
∣
∣
\frac{|w^{T}x+b|}{||w||}
∣∣w∣∣∣wTx+b∣
在之前的描述中我们知道函数间隔
γ
^
=
∣
w
T
x
+
b
∣
=
y
(
w
T
x
+
b
)
\hat{\gamma} = |w^{T}x+b| = y(w^{T}x+b)
γ^=∣wTx+b∣=y(wTx+b),几何间隔
γ
=
∣
w
T
x
+
b
∣
∣
∣
w
∣
∣
=
y
(
w
T
x
+
b
)
∣
∣
w
∣
∣
\gamma = \frac{|w^{T}x+b|}{||w||} = \frac{y(w^{T}x+b)}{||w||}
γ=∣∣w∣∣∣wTx+b∣=∣∣w∣∣y(wTx+b),我们发现加上
y
y
y之后就可以去绝对值,即对于正分类点
- w T x + b > 0 w^{T}x+b>0 wTx+b>0时, y = 1 > 0 y=1>0 y=1>0,相乘为正
- w T x + b < 0 w^{T}x+b<0 wTx+b<0时, y = − 1 < 0 y=-1<0 y=−1<0,相乘为正
那么这就是 y y y取 + 1 , − 1 +1, -1 +1,−1的原因吗,有一部分原因是这样的,但也不完全是,这样做最大的好处就是计算简便,同时理解起来也更容易,看下面的解释
首先我们要明白这是一个二分类问题,既然是二分类问题,那么
y
y
y就只需要取两个值就可以了,当我们的分类点位于超平面的两侧时,恰好符号分别为正负,所以我们取了
−
1
,
+
1
-1, +1
−1,+1,当然也可以取
−
10
,
+
10
-10, +10
−10,+10,
−
11
,
+
4
-11, +4
−11,+4,甚至还可以取
+
1
,
+
2
+1, +2
+1,+2,因为归根结底我们只需要两个不同的数就可以代表二分类问题了。我们用
[
+
1
,
+
2
]
[+1, +2]
[+1,+2]举个例子,在之前我们判断一个误分类点的方法是
y
(
w
T
x
+
b
)
>
0
T
y
(
w
T
x
+
b
)
<
0
F
y(w^{T}x+b)>0~~~T \\ y(w^{T}x+b)<0~~~F
y(wTx+b)>0 Ty(wTx+b)<0 F
那么现在我们修改了
y
y
y代表的分类值,判断方法就变为
(
y
−
1.5
)
(
w
T
x
+
b
)
>
0
T
(
y
−
1.5
)
(
w
T
x
+
b
)
<
0
F
(y-1.5)(w^{T}x+b)>0~~~T \\ (y-1.5)(w^{T}x+b)<0~~~F
(y−1.5)(wTx+b)>0 T(y−1.5)(wTx+b)<0 F
2. 为什么在求解SVM时,令分子等于1?
SVM中求几何间隔的形式为
y
(
w
T
x
+
b
)
∣
∣
w
∣
∣
\frac{y(w^{T}x+b)}{||w||}
∣∣w∣∣y(wTx+b),然后我们令分子等于1,即函数间隔等于1,将上述问题转化为
m
a
x
=
1
∣
∣
w
∣
∣
s
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
i
=
1
,
.
.
.
,
n
max = \frac{1}{||w||}~~~st.~y_{i}(w^{T}x_{i}+b) \geq 1~~i=1,...,n
max=∣∣w∣∣1 st. yi(wTxi+b)≥1 i=1,...,n
为什么可以这样做呢?首先看上述公式我们在
y
i
(
w
T
x
i
+
b
)
≥
1
y_{i}(w^{T}x_{i}+b) \geq 1
yi(wTxi+b)≥1时已经默认令函数间隔
γ
^
=
1
\hat{\gamma}=1
γ^=1了,其实最初的形式为
max
w
,
b
γ
s
t
.
y
i
(
w
T
x
i
+
b
)
∣
∣
w
∣
∣
≥
γ
i
=
1
,
.
.
.
,
n
\underset {w,b}{\operatorname {max}} ~~~ \gamma~~~~st.~\frac{y_{i}(w^{T}x_{i}+b)}{||w||} \geq \gamma~~i=1,...,n
w,bmax γ st. ∣∣w∣∣yi(wTxi+b)≥γ i=1,...,n
也就是说我们希望最大化超平面关于训练数据集的几何间隔
γ
\gamma
γ,约束条件表示超平面
(
w
,
b
)
(w,b)
(w,b)关于每个训练样本点的几何间隔至少是
γ
\gamma
γ,这样就是如下图的形式,上述约束条件中分子就是函数间隔
考虑到函数间隔和几何间隔的关系,我们将上式转化为
max
w
,
b
γ
^
∣
∣
w
∣
∣
s
t
.
y
i
(
w
T
x
i
+
b
)
≥
γ
^
i
=
1
,
.
.
.
,
n
\underset {w,b}{\operatorname {max}} ~~~\frac{ \hat{\gamma}}{||w||}~~~st.~~~y_{i}(w^{T}x_{i}+b) \geq \hat{\gamma}~~i=1,...,n
w,bmax ∣∣w∣∣γ^ st. yi(wTxi+b)≥γ^ i=1,...,n
这就是原始问题等价变形之后的形式了,接下来解释为什么函数间隔
γ
^
=
1
\hat{\gamma}=1
γ^=1,在之前SVM详解这篇文章中我们知道当
w
,
b
w,b
w,b等比例的增大或者变小时,我们的超平面是不变的,也就是说不论是
γ
^
=
1
,
2
,
3
,
10
,
100
,
1000
\hat{\gamma}=1,2,3,10,100,1000
γ^=1,2,3,10,100,1000,结果都是相同的,只不过得到的
w
,
b
w,b
w,b变成了原来的倍数,所以为了计算方便以及更好的理解,我们不如直接令
γ
^
=
1
\hat{\gamma}=1
γ^=1;换一个理解思路
γ
^
=
1
\hat{\gamma}=1
γ^=1就是相当于给原问题加上了一个约束条件,也就是问题变为
max
w
,
b
γ
^
∣
∣
w
∣
∣
s
t
.
{
y
i
(
w
T
x
i
+
b
)
≥
γ
^
i
=
1
,
.
.
.
,
n
γ
^
=
1
\underset {w,b}{\operatorname {max}} ~~~\frac{ \hat{\gamma}}{||w||}~~~st.~~~ \left\{\begin{matrix} y_{i}(w^{T}x_{i}+b) \geq \hat{\gamma}~~i=1,...,n \\ \hat{\gamma}=1 \end{matrix}\right.
w,bmax ∣∣w∣∣γ^ st. {yi(wTxi+b)≥γ^ i=1,...,nγ^=1
即
max
w
,
b
1
∣
∣
w
∣
∣
s
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
i
=
1
,
.
.
.
,
n
\underset {w,b}{\operatorname {max}} ~~~\frac{1}{||w||}~~~st.~~~ y_{i}(w^{T}x_{i}+b) \geq1~~i=1,...,n \\
w,bmax ∣∣w∣∣1 st. yi(wTxi+b)≥1 i=1,...,n
3. w , b w,b w,b到 α \alpha α公式推导
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 n α i ( y i ( w T x i + b ) − 1 ) i = 1 , . . . , n L(w, b, \alpha) = \frac{1}{2}||w||^{2} - \sum_{i=1}^{n}\alpha_{i}(y_{i}(w^{T}x_{i}+b) - 1)~~~i=1,...,n L(w,b,α)=21∣∣w∣∣2−i=1∑nαi(yi(wTxi+b)−1) i=1,...,n
对 w , b w, b w,b求导之后得到 w = ∑ i = 1 N α i y i x i w = \sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}~~ w=∑i=1Nαiyixi 以及 ∑ i = 1 N α i y i = 0 ~~\sum_{i=1}^{N}\alpha_{i}y_{i}=0 ∑i=1Nαiyi=0,带入得到下面式子
L ( α ) = 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 n α i L(\alpha) = \frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j}) - \sum_{i=1}^{n}\alpha_{i} L(α)=21i=1∑nj=1∑nαiαjyiyj(xi⋅xj)−i=1∑nαi
求解过程
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 n α i ( y i ( w T x i + b ) − 1 ) = 1 2 w T w − ∑ i = 1 n α i y i w T x i − ∑ i = 1 n α i y i b + ∑ i = 1 n α i = 1 2 w T ∑ i = 1 N α i y i x i − ∑ i = 1 n α i y i w T x i − 0 × b + ∑ i = 1 n α i = − 1 2 w T ∑ i = 1 N α i y i x i + ∑ i = 1 n α i = − 1 2 ( ∑ i = 1 N α i y i x i ) T ∑ i = 1 N α i y i x i + ∑ i = 1 n α i = − 1 2 ∑ i = 1 N α i y i x i T ∑ i = 1 N α i y i x i + ∑ i = 1 n α i = − 1 2 ∑ i = 1 N ∑ i = j N α i y i x i T α j y j x j + ∑ i = 1 n α i = − 1 2 ∑ i = 1 N ∑ i = j N α i y i α j y j x i T x j + ∑ i = 1 n α i = − 1 2 ∑ i = 1 N ∑ i = j N α i y i α j y j ( x i ⋅ x j ) + ∑ i = 1 n α i \begin{aligned} L(w, b, \alpha) & = \frac{1}{2}||w||^{2} - \sum_{i=1}^{n}\alpha_{i}(y_{i}(w^{T}x_{i}+b) - 1) \\ & = \frac{1}{2}w^{T}w - \sum_{i=1}^{n}\alpha_{i}y_{i}w^{T}x_{i} - \sum_{i=1}^{n}\alpha_{i}y_{i}b + \sum_{i=1}^{n}\alpha_{i} \\ & = \frac{1}{2}w^{T}\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i} - \sum_{i=1}^{n}\alpha_{i}y_{i}w^{T}x_{i} - 0\times b + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}w^{T}\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i} + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}(\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i})^{T}\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i} + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}^{T}\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i} + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}\sum_{i=1}^{N}\sum_{i=j}^{N}\alpha_{i}y_{i}x_{i}^{T}\alpha_{j}y_{j}x_{j} + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}\sum_{i=1}^{N}\sum_{i=j}^{N}\alpha_{i}y_{i}\alpha_{j}y_{j}x_{i}^{T}x_{j} + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}\sum_{i=1}^{N}\sum_{i=j}^{N}\alpha_{i}y_{i}\alpha_{j}y_{j}(x_{i}\cdot x_{j}) + \sum_{i=1}^{n}\alpha_{i} \end{aligned} L(w,b,α)=21∣∣w∣∣2−i=1∑nαi(yi(wTxi+b)−1)=21wTw−i=1∑nαiyiwTxi−i=1∑nαiyib+i=1∑nαi=21wTi=1∑Nαiyixi−i=1∑nαiyiwTxi−0×b+i=1∑nαi=−21wTi=1∑Nαiyixi+i=1∑nαi=−21(i=1∑Nαiyixi)Ti=1∑Nαiyixi+i=1∑nαi=−21i=1∑NαiyixiTi=1∑Nαiyixi+i=1∑nαi=−21i=1∑Ni=j∑NαiyixiTαjyjxj+i=1∑nαi=−21i=1∑Ni=j∑NαiyiαjyjxiTxj+i=1∑nαi=−21i=1∑Ni=j∑Nαiyiαjyj(xi⋅xj)+i=1∑nαi