[关闭]
@dongxi 2017-08-14T20:33:43.000000Z 字数 7129 阅读 943

支持向量机

机器学习 CS229


本文将会大量参考支持向量机通俗导论版本,进行了简单的删减,需要进一步了解SVM可以参考原文。

前言

       支持向量机是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化成一个凸二次规划问题的求解。

相关概念

       在描述支持向量机的概念之前,我们需要引入几个简单的但却帮助我们思考的概念。

函数间隔与几何间隔

       在超平面确定时,我们可以通过来判断分类是否正确。这就引出了函数间隔的定义:


       但是,采用函数间隔去衡量距离会受到系数的影响,函数间隔大小会随着系数的增加而增加,所以采用函数间隔衡量距离并不是一种很好的选择。
       为了解决系数对距离的影响,我们可以采用归一化的方式,将它们都转换为单位向量就可以避免这种情况了,这就引入了几何间隔的概念:

       其实这就是在中学学过的点到直线距离的公式,就是最基本的欧式几何上的距离(不考虑正负)。

最大间隔分类器

       当对一个数据点进行分类,当超平面离数据点的几何间隔越大,分类的置信度就越高,所以我们希望能够选择一个可以最大化这一间隔的超平面(如下图所示)。
pic1.png-19.4kB
       因此,最大间隔分类器的目标函数可以定义为:


       实际上,这并不是一个很简洁的函数,我们可以增加一些简单的约束条件来减少我们在求解的时候需要付出的努力,我们可以简单的令函数间隔,那么则会有,那么我们上述那个相对复杂的目标函数可以简化为:

       原来的复杂的目标函数转化为了一个简单的目标函数和一个约束条件,而对于约束条件我们可以很容易的通过一些数学技巧来解决。

线性可分问题求解

       对于一个几何空间上的二分类问题,其情况也不外乎两种,线性可分以及线性不可分,对于线性可分的问题相对来说比较容易解决,所以我们下来介绍线性可分问题的求解方式。

拉格朗日对偶性

       我们继续考虑上述的目标函数,对于这种问题,我们可以通过拉格朗日对偶性进行求解。上述函数可以转换为拉格朗日函数:


       然后令:

       当某个约束条件未得到满足时,很显然会有,那么显然会有,便是最初时希望最小化的值。所以我们的目标函数变为:

       通过拉格朗日对偶性,我们可以得出:

KTT条件

       对于上式,我们希望找到等式成立的情况,对于下述模型:


       我们的条件为:

       关于这部分的内容,可以参考我之前的blog,在这里就不重复叙述了。

对偶问题求解过程

       对于对偶问题,我们在求解过程中,首先固定,然后让关于最小化,分别对求偏导数:



       将上式带入到中,则会有:
2017年8月13日185434.png-50.3kB
       最后,可以得到:

       此时,我们只剩余一个变量,我们现在需要的最优化问题转变成了:

       如果我们可以求出,从而我们可以确定的值(不会b的推导,疑问为什么不把变成):


       这样既可推导出的值,从而确定最优超平面以及分类决策函数,至于如何去求解最优值,可以参考论文《Sequential Minimal Optimization:A Fast Algorithm for Training Support Vector Machines》,关于这篇论文中的内容,将会整理在之后的blog中。

线性不可分问题求解

       根据之前的推导我们得到了:


       我们可以将其带入分类函数,那么会有:

       上式中有一个有一个很关键的地方,在对于新的预测时,我们只需要计算它与训练数据点的内积即可,这对于我们在使用核函数时有比较重要的意义。这里还有一个有意思的地方,实际上除了支持向量对应的点的系数不为零以外,其他的点对应的均为零,详细内容可以参见之前关于拉格朗日对偶性的博客。

核函数

       对于数据分布非线性的情况,SVM中采用的通常方法则是选择一个核函数,通过将数据映射到高纬空间进行求解。在线性不可分的情况下,支持向量机首先在低维空间中完成计算,然后通过核函数将输入空间映射到高维特征空间,最终在高维空间中构建出最优分离超平面,从而把平面上无法线性分割的数据分隔开,如下图所示。
2017年8月13日202509.png-102.7kB
       在遇到核函数之前,我们需要一个非线性映射函数,将数据映射到特征空间,我们假设为非线性映射函数,那么我们的分类函数变为:


       实际上,上述过程可以分为两步:

  1. 使用非线性映射函数将数据变换到一个新的特征空间
  2. 在特征空间执行线性学习分类器

       与我们之前的知识相结合,那么决策规则可以表示为:


       但是,如果直接采用这种步骤进行求解是不合理的,假设我们有一个数据集如下:
2017年8月13日203840.png-34.4kB
       对于平面上的这个分布,很明显如果我们采用一个“圆”进行分类是十分合理,那么我们的分类函数可以写成:

       这样,我们就可以将其映射到一个五维空间进行简单的求解,所以上式可以表示为:

       我们可以很容易的对新坐标进行线性分类,好像这也没什么问题。但是,如果原始空间是三维的,那么新空间是原始空间的一阶、二阶和三阶的全部组合,那么会得到一个19维的空间,这是一个指数级别的增长速度,这给的计算带来的极大的困难,如果遇到无穷维的情况也无法进行计算,所以这时就需要核函数的帮助来完成非线性分类的问题。
       还是以上图为例,我们设两个点,还是采用原来的映射到五维空间,那么映射以后的内积为:

       另外,我们还可以注意到:

       我们只需要对我们的映射进行一下简单的缩放,就可以得到(这里为了清晰就不采用表示特征的方式了,这与前面的有一点冲突,有时间重新整理下):

       然后,我们可以发现是相等的,那么它们的区别在什么地方呢?

  1. 映射到高维空间,然后根据内积公式进行计算;
  2. 直接在低维空间进行计算,并不实际上计算高维空间的映射结果。

定义:核函数是一个函数,对于多有的,满足,这里是从到内积特征空间的映射。

       根据上面的例子,我们的核函数为:


       所以,我们的分类函数为:

       同样,我们的目标函数也进行了转换,避免了直接在高维空间中进行运算,它们产生的结果是等价的。

常见的核函数类型

       通常人们会根据问题和数据的不同,选择不同的参数,从一些常用的核函数中选择一些核函数,下面介绍最常见的三种核函数:

       我们在之前列举了一些常见的核函数,但是核函数的存在性应该如何判断呢?核函数应该如何构造呢?在实际使用中,我们并不会关心高维空间的映射情况,那么我们应该如何判断一个函数是否是核函数呢?

定理:任何半正定的函数都可以作为核函数。所谓半正定函数,是指拥有训练数据集合,我们定义一个矩阵,其中的元素,很显然,这个矩阵是一个矩阵,只要这个矩阵是半正定矩阵,那么我们就可以将函数是半正定函数。

       需要注意的是,定理只是一个充分条件,某些不满足定理的函数也可能可以作为核函数。
       总而言之,如果我们采用了合适的核函数,那么理论上讲,我们就可以将在原始空间线性不可分的数据可分,这样我们就可以实现对线性不可分数据的分割。

松弛处理

       在之前我们讨论线性不可分的情况,只要使用高斯核函数实际上无论什么样的数据都是可分的,如果数据本身是线性可分的,但是存在一定的噪声,如下图可视,如果我们通过将之映射到无限维使其被线性可分,那么就会会造成严重的过拟合现象,所以我们可能需要其他的处理方法。
2017年8月14日005450.png-19.6kB
       对于这些偏离正常位置很远的点,我们称之为outlier,在目前为止的SVM模型中是会造成极大影响的。正如前文所述,超平面是由少数的支持向量构成的,如果这些向量中存在outlier,如上右图,那就会对超平面产生极大影响了。如果新增的点位于右上角,那就更恐怖了,整个数据并不再满足线性可分了,只能映射到高维空间进行求解。
       为了处理这类情况,SVM允许数据点适当的偏离超平面,这样少数噪音就不会对超平面产生太大的影响了。那么现在我们的约束条件发生了小小的变化:


       其中称为松弛变量,也就是对应的数据点可以偏离的量。增加了松弛变量以后,我们的目标函数也要进行相应的改变:

       其中,是一个常数,用于控制目标函数中的两项之间的权重。所以,现在我们的问题变为了:

       分析方式还是与原来相同,我们可以得到新的拉格朗日函数:

       分别对求偏导数,可以得到:

       将上述条件带入中进行化简,很容易得到和原来一样的目标函数:

       只不过我们现在的条件发生了一点小小的改变,现在我们有,同时又有,因此可以很显然的知道会有,所以现在整个对偶问题可以写作:

       对于这个函数也可以通过SMO算法进行求解,关于SMO算法的内容会在以后的blog中进行。

总结

       SVM是一个十分重要的分类方法,它与感知机相似但不相同。对于这个算法还需要进一步的研究与学习。

参考
支持向量机通俗导论

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注