前言

本篇和接下来的两篇将介绍一种重要的分类方法:支持向量机(support vector machines)。本篇主要讲的是最大边际分类器(maximal margin classifier),是支持向量机的基础。接下来两篇将分别介绍支持向量分类器(support vector classifier)、支持向量机(support vector machines)。

超平面

超平面(hyperplane)指的是 p p p 维空间的 p − 1 p-1 p1 维线性子空间,比如二维空间的超平面是一条直线,三维空间的超平面是一个平面。
一般的,可以用下式表示 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。
ISLR读书笔记十六:最大边际分类器(maximal margin classifier)

最大边际超平面

由上图可以看出,分离超平面可能有很多个,那么要如何进行选择呢?一个自然的想法是选择最大边际超平面(maximal margin hyperplane),即使得边际尽可能地大,更具体地说,是使得每点到分离超平面的距离的最小值(称作边际(margin)),尽可能地大。从直观上看,最大边际超平面,代表插入两个类之间的最大空档正当中的一块板。

ISLR读书笔记十六:最大边际分类器(maximal margin classifier)

这个最大空挡上的点,称作是支持向量(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)Mi=1,,n.
约束条件中,等式约束是为了让不等式约束的左边,等于该点到超平面的距离,不等式约束是为了确保是分离超平面。

以上的情况是针对线性可分的情况,即是存在分离超平面的前提下讨论的,但更多的情况是,分离超平面根本不存在,比如下图
ISLR读书笔记十六:最大边际分类器(maximal margin classifier)

这个时候该怎么处理呢?且看下集:支持向量分类器。

相关文章: