前言
本篇和接下来的两篇将介绍一种重要的分类方法:支持向量机(support vector machines)。本篇主要讲的是最大边际分类器(maximal margin classifier),是支持向量机的基础。接下来两篇将分别介绍支持向量分类器(support vector classifier)、支持向量机(support vector machines)。
超平面
超平面(hyperplane)指的是
p
p
p 维空间的
p
−
1
p-1
p−1 维线性子空间,比如二维空间的超平面是一条直线,三维空间的超平面是一个平面。
一般的,可以用下式表示
p
p
p 维空间的超平面:
β
0
+
β
1
X
1
+
β
2
X
2
+
…
+
β
p
X
p
=
0
\beta_{0}+\beta_{1} X_{1}+\beta_{2} X_{2}+\ldots+\beta_{p} X_{p}=0
β0+β1X1+β2X2+…+βpXp=0
超平面将
p
p
p 维空间划分成了
β
0
+
β
1
X
1
+
β
2
X
2
+
…
+
β
p
X
p
>
0
\beta_{0}+\beta_{1} X_{1}+\beta_{2} X_{2}+\ldots+\beta_{p} X_{p}>0
β0+β1X1+β2X2+…+βpXp>0和
β
0
+
β
1
X
1
+
β
2
X
2
+
…
+
β
p
X
p
<
0
\beta_{0}+\beta_{1} X_{1}+\beta_{2} X_{2}+\ldots+\beta_{p} X_{p}<0
β0+β1X1+β2X2+…+βpXp<0
两个半空间。
分离超平面
对于二分类问题,可以利用分离超平面(separating hyperplane)来进行分类。分离超平面有如下性质
β
0
+
β
1
x
i
1
+
β
2
x
i
2
+
…
+
β
p
x
i
p
>
0
if
y
i
=
1
\beta_{0}+\beta_{1} x_{i 1}+\beta_{2} x_{i 2}+\ldots+\beta_{p} x_{i p}>0 \text { if } y_{i}=1
β0+β1xi1+β2xi2+…+βpxip>0 if yi=1
β
0
+
β
1
x
i
1
+
β
2
x
i
2
+
…
+
β
p
x
i
p
<
0
if
y
i
=
−
1
\beta_{0}+\beta_{1} x_{i 1}+\beta_{2} x_{i 2}+\ldots+\beta_{p} x_{i p}<0 \text { if } y_{i}=-1
β0+β1xi1+β2xi2+…+βpxip<0 if yi=−1
所以,由上两式可以得到,分离超平面有如下性质
y
i
⋅
(
β
0
+
β
1
x
i
1
+
β
2
x
i
2
+
…
+
β
p
x
i
p
)
>
0
y_i\cdot(\beta_{0}+\beta_{1} x_{i 1}+\beta_{2} x_{i 2}+\ldots+\beta_{p} x_{i p})>0
yi⋅(β0+β1xi1+β2xi2+…+βpxip)>0
对于测试数据
x
∗
x^*
x∗,可以用
f
(
x
∗
)
=
β
0
+
β
1
x
1
∗
+
β
2
x
2
∗
+
…
+
β
p
x
p
∗
f(x^*)=\beta_{0}+\beta_{1} x^*_{1}+\beta_{2} x^*_{2}+\ldots+\beta_{p} x^*_{p}
f(x∗)=β0+β1x1∗+β2x2∗+…+βpxp∗ 的符号来进行分类。如果
f
(
x
∗
)
>
0
f(x^*)>0
f(x∗)>0,那么将其分配给类 1,否则分配给类 -1。
最大边际超平面
由上图可以看出,分离超平面可能有很多个,那么要如何进行选择呢?一个自然的想法是选择最大边际超平面(maximal margin hyperplane),即使得边际尽可能地大,更具体地说,是使得每点到分离超平面的距离的最小值(称作边际(margin)),尽可能地大。从直观上看,最大边际超平面,代表插入两个类之间的最大空档正当中的一块板。
这个最大空挡上的点,称作是支持向量(support vector),因为它们支持(support)起了这个最大边际超平面,只有当这些点发生改动的时候,最大边际超平面才会改动,也就是说,其余的点,不影响最大边际超平面,最大边际超平面只与这一部分支持向量有关。
最大边际超平面是如下优化问题的解:
maximize
β
0
,
β
1
,
…
,
β
p
M
subject to
∑
j
=
1
p
β
j
2
=
1
y
i
(
β
0
+
β
1
x
i
1
+
β
2
x
i
2
+
…
+
β
p
x
i
p
)
≥
M
∀
i
=
1
,
…
,
n
.
\begin{array}{l} \underset{\beta_{0}, \beta_{1}, \ldots, \beta_{p}}{\operatorname{maximize}} M \\ \text { subject to } \sum_{j=1}^{p} \beta_{j}^{2}=1 \\ y_{i}\left(\beta_{0}+\beta_{1} x_{i 1}+\beta_{2} x_{i 2}+\ldots+\beta_{p} x_{i p}\right) \geq M \forall i=1, \ldots, n . \end{array}
β0,β1,…,βpmaximizeM subject to ∑j=1pβj2=1yi(β0+β1xi1+β2xi2+…+βpxip)≥M∀i=1,…,n.
约束条件中,等式约束是为了让不等式约束的左边,等于该点到超平面的距离,不等式约束是为了确保是分离超平面。
以上的情况是针对线性可分的情况,即是存在分离超平面的前提下讨论的,但更多的情况是,分离超平面根本不存在,比如下图
这个时候该怎么处理呢?且看下集:支持向量分类器。