Chapter9,Support Vector Machine
《an introduction to statistical learning 2nd edition》支持向量机是可以看做是一类简单直观的最大间隔分类器(Maximal Margin Classifier)的推广。尽管最大间隔分类器设计巧妙、原理简单,但对于大部分数据,该分类器都容易应用。因为该分类器要求不同类别观测数据之间的边界是线性分隔。9.2节将会介绍支持向量分类器(Support Vector Classifiers),它是最大间隔分类器的一个扩展,其应用范围比最大间隔分类器广。9.3节介绍狭义的支持向量机(Support Vector Machines),它是支持向量分类器的进一步扩展,能适用于非线性边界分隔的数据。支持向量机是专为二分类响应变量设计的方法,即响应变量只有2个类别。9.4节讨论支持向量机在响应变量类别数大于2的情况下的扩展.9.5节讨论支持向量机与其他统计方法的密切关系,比如逻辑斯蒂回归。通常把最大间隔分类器、支持向量分类器和支持向量机都简单地叫做“支持向量机”。为了避免混淆,这一章会严格区分这3个概念。9.1 Maximal Margin Classifier(最大间隔分类器)这一节将定义超平面,并介绍最优分割超平面的概念。9.1.1 What Is a Hyperplane?在ppp维空间中,超平面是p−1p-1p−1维的平面仿射子空间。例如,在二维空间中,超平面是一个平直的一维子空间,换句话说,就是一条直线。在三维空间中,超平面是一个平坦的二维子空间,也就是一个平面。在p>3p>3p>3维的空间中很难可视化超平面,但是超平面也仍然是一个p−1p-1p−1维的平面子空间。超平面的数学定义非常简单。在二维空间中,超平面可以定义为(这是一条直线的方程,因为在二维空间中,超平面就是一条直线):9.1很容易扩展到多维的情况:9.2定义了一个ppp维的超平面。超平面将ppp维空间分成了两部分,只要简单的计算一下9.2中等号左边项的符号,就可以很容易地找出一个点究竟落在超平面的哪一侧。图9-1给出了二维空间中的一个超平面。9.1.2 Classification Using a Separating Hyperplane(使用分割超平面分类)假设XXX为n∗pn*pn∗p的数据矩阵,由ppp维空间中的nnn个训练观测组成:这些观测分为两个类别,即y1,...,ynϵ{ −1,1}y_1,...,y_n\epsilon \{-1,1\}y1,...,ynϵ{−1,1}。其中−1-1−1代表一种类别,111代表另外一种类别。还有一个测试观测,它的特征为一个长度为ppp的向量x∗=(x1∗,...,xp∗)Tx^*=(x_{1}^{*}, ... ,x_{p}^{*})^Tx∗=(x1∗,...,xp∗)T。我们的目标是根据训练观测建立一个能够将测试观测正确分类的分类器。有很多方法可以完成这个目标,比如第四章的线性判别分析和逻辑斯蒂回归,以及第八章的分类树装袋法和提升法。接下来介绍一种基于分割超平面(Separating Hyperplane)的方法。假设可以构建一个超平面,把类别标签不同的训练观测分割开来。图9-2的左图给出了3个分割超平面的例子,标记为蓝色的属于yi=1y_i=1yi=1的类别,而标记为紫色的观测属于yi=−1y_i=-1yi=−1的类别。分割超平面具有如下性质:如果分割超平面存在,就可以用它来构造分类器:测试观测会被判定为哪个类别完全取决于它落在分割超平面的哪一侧。图9-2的右图就是这种分类器的一个例子,即可以根据f(x∗)=β0+β1xi1+β2xi2+...+βpxipf(x^*)=\beta_0+\beta_1x_{i1}+\beta_2x_{i2}+...+\beta_px_{ip}f(x∗)=β0+β1xi1+β2xi2+...+βpxip的符号来对测试观测分类。如果f(x∗)f(x^*)f(x∗)的符号为正,则测试观测就被分入1类,如果f(x∗)f(x^*)f(x∗)的符号是负的,那么测试观测就被分入-1类。还可以利用f(x∗)f(x^*)f(x∗)的值的大小(magnitude)对测试观测分类。如果f(x∗)f(x^*)f(x∗)的值距离很远,即x∗x^*x∗距离分割超平面很远,我们能非常确信对x∗x^*x