What
SVM
即Support Vector Machines
——支持向量机,是一种分类器,属于监督学习的范畴。
Q: 给定训练样本 { ( x 1 , y 1 ) , . . . . , ( x i , y i ) } , y i ∈ { − 1 , + 1 } \{(\boldsymbol{x}_1, y_1), ...., (\boldsymbol{x}_i, y_i)\}, y_i \in \{-1, +1\} {(x1,y1),....,(xi,yi)},yi∈{−1,+1},找到一个划分超平面,将不同类别样本分开。
(图:wiki)
对于上述问题,任意二分线性分类器都可以分类。作为一个二分线性分类器,SVM与之不同的是其特殊的划分超平面:要求间隔(margin)最大。如图所示,也就是图中两条虚线之间的间隔最大,划分超平面处于间隔的中间。仔细观察可知,该间隔只与距离超平面最近的几个点有关,而这几个点就被称为Support Vector,这也就是SVM的名字来源。
SVM
这个超平面可以表示为
w
T
x
+
b
=
0
\boldsymbol{w}^T\boldsymbol{x} + b = 0
wTx+b=0
则SVM分类器可表示为
h
w
,
b
(
x
)
=
g
(
w
T
x
+
b
)
h_{\boldsymbol{w},\boldsymbol{b}}(x) = g(\boldsymbol{w}^T\boldsymbol{x} + b)
hw,b(x)=g(wTx+b)
如果
w
T
x
+
b
≥
0
,
则
g
(
w
T
x
+
b
)
=
1
\boldsymbol{w}^T\boldsymbol{x} + b \geq 0, 则g(\boldsymbol{w}^T\boldsymbol{x} + b) = 1
wTx+b≥0,则g(wTx+b)=1 ,反之
g
(
w
T
x
+
b
)
=
−
1
g(\boldsymbol{w}^T\boldsymbol{x} + b) = -1
g(wTx+b)=−1
函数间隔(functional margin)
对任意的样本
(
x
i
,
y
i
)
(\boldsymbol{x}_i, y_i)
(xi,yi),定义函数间隔为
γ
^
i
=
y
i
(
w
T
x
i
+
b
)
\hat\gamma_i = y_i(\boldsymbol{w}^T\boldsymbol{x}_i + b)
γ^i=yi(wTxi+b)
显而易见的是,当分类正确时,
y
i
y_i
yi和
w
T
x
i
+
b
\boldsymbol{w}^T\boldsymbol{x}_i + b
wTxi+b是同号的且距离超平面越远值越大,由于
y
∈
{
1
,
−
1
}
y \in \{1, -1\}
y∈{1,−1},则
γ
^
i
\hat\gamma_i
γ^i的值为
∣
w
T
x
i
+
b
∣
|\boldsymbol{w}^T\boldsymbol{x}_i + b|
∣wTxi+b∣。
那么在真个训练样本上,我们定义函数间隔为所有训练样本中最小的一个:
γ
^
=
min
i
=
0
,
1
,
.
.
.
n
γ
^
i
\hat\gamma = \min_{i=0,1,...n} \hat\gamma_i
γ^=i=0,1,...nminγ^i
函数间隔可以表示分类是否正确且可以衡量分类的正确程度,但是,当我们同时缩放
x
,
b
\boldsymbol{x},b
x,b时并不会改变超平面,但是函数间隔的值会通样进行缩放。为了避免对求解的影响,接下来引入几何间隔。
几何间隔(geometric margin)
给任意一个样本A(
x
i
,
y
i
\boldsymbol{x}_i, y_i
xi,yi),则其到超平面的垂点B为
x
i
−
γ
i
w
∣
∣
w
∣
∣
\boldsymbol{x}_i - \gamma_i\frac{\boldsymbol{w}}{||\boldsymbol{w}||}
xi−γi∣∣w∣∣w,代入超平面解出几何间隔
γ
^
i
\hat\gamma_i
γ^i
w
T
(
x
i
−
γ
i
w
∣
∣
w
∣
∣
)
+
b
=
0
\boldsymbol{w}^T(\boldsymbol{x}_i - \gamma_i\frac{\boldsymbol{w}}{||\boldsymbol{w}||}) + b = 0
wT(xi−γi∣∣w∣∣w)+b=0
求解为:
γ
i
=
(
w
∣
∣
w
∣
∣
)
T
x
i
+
b
∣
∣
w
∣
∣
\gamma_i = (\frac{\boldsymbol{w}}{||\boldsymbol{w}||})^T\boldsymbol{x}_i + \frac{b}{||\boldsymbol{w}||}
γi=(∣∣w∣∣w)Txi+∣∣w∣∣b
几何间隔定义为
γ
i
=
y
i
(
(
w
∣
∣
w
∣
∣
)
T
x
i
+
b
∣
∣
w
∣
∣
)
\gamma_i = y_i\big((\frac{\boldsymbol{w}}{||\boldsymbol{w}||})^T\boldsymbol{x}_i + \frac{b}{||\boldsymbol{w}||}\big)
γi=yi((∣∣w∣∣w)Txi+∣∣w∣∣b)
特别的,当
∣
∣
w
∣
∣
=
1
||w||=1
∣∣w∣∣=1时,几何间隔和函数间隔相等。
则全局几何间隔为
γ
=
min
i
=
0
,
1
,
.
.
.
n
γ
i
\gamma = \min_{i=0,1,...n} \gamma_i
γ=i=0,1,...nminγi
基本型
max
γ
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
γ
i
=
0
,
1
,
2
,
.
.
n
∣
∣
w
∣
∣
=
1
\max \gamma \\ s.t. \qquad y_i(\boldsymbol{w}^T\boldsymbol{x}_i + b) \geq \gamma \quad i = 0, 1, 2, .. n\\ ||w||=1
maxγs.t.yi(wTxi+b)≥γi=0,1,2,..n∣∣w∣∣=1
由于约束中的
∣
∣
w
∣
∣
=
1
||w||=1
∣∣w∣∣=1无法通过优化算法进行求解,所以需要去掉该项,转化为
max
γ
^
∣
∣
w
∣
∣
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
γ
i
=
0
,
1
,
2
,
.
.
n
\max \frac{\hat\gamma}{||\boldsymbol{w}||} \\ s.t. \qquad y_i(\boldsymbol{w}^T\boldsymbol{x}_i + b) \geq \gamma\quad i = 0, 1, 2, .. n
max∣∣w∣∣γ^s.t.yi(wTxi+b)≥γi=0,1,2,..n
为了约束w和b的变化,将
γ
^
\hat\gamma
γ^设为一个固定值,
γ
^
=
1
\hat\gamma = 1
γ^=1
最终,SVM的基本型为
min
γ
,
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
0
,
1
,
2
,
.
.
n
\min_{\gamma, \boldsymbol{w}, b} \frac{1}{2}||\boldsymbol{w}||^2 \\ s.t. \qquad y_i(\boldsymbol{w}^T\boldsymbol{x}_i + b) \geq 1,\quad i = 0, 1, 2, .. n
γ,w,bmin21∣∣w∣∣2s.t.yi(wTxi+b)≥1,i=0,1,2,..n
待完善
参考
Andrew Ng 在Stanford时的课堂讲义