SVM研究(0)

    最近一直在看SVM的一些论文,想做一下总结,因为发现以前看过的有关SVM的博客大多数都没有说的很清楚(反正我是还有细节没有搞懂),希望这篇文章能给一些人带来帮助,但主要是用来总结吧。

    首先说SVM的来源。SVM是一个线性分类器,最开始的想法是要建立出一个比较稳定的线性分类器,由此便从几何上给出了一个使得间隔最大化的模型,当然,假设数据是线性可分的。

    1. 我们先说说什么是线性可分的数据。我们假设数据有两类,C1和C2。这两类中的数据点的特征(feature)都是n维的,所以我们可以将这些数据点都放在R^n空间中,再进行考虑,当然,假如维数不同,那么我们取最大的维数作为n即可。线性可分指的是我们可以找到一个超平面,使得C1和C2的数据点被这个超平面隔离开来。label为了方便起见,取为+1, -1,这在下面的讨论中起到了不少的简化作用。

    在中,超平面是一个n-1维的仿射空间,是一个n-1维子空间的平移,我们可以通过一个方程的解集来表示一个超平面,这是线性函数的零点集合,而且我们可以通过这个n + 1维的向量来确定一个超平面。当然,对于一个超平面,并不只有唯一一个与之对应,对应的超平面都是相同的,而对应于相同超平面的这个集合中的一条除去0的直线,是一个一维子空间除去0。总而言之,中的超平面和中的一条直线之间有一个一一对应。从几何上来看,w是超平面的法向量,而表示了原点到超平面的距离,从这一个意义下来看,上述讨论也是很合理的,因为即不改变向量所在的直线,也不改变原点到超平面的距离。

    下面来说如何描述“隔离开”。上面说到超平面是线性函数的零点集合,而与那个超平面相对应的半空间就是线性函数大于0的集合,从低维情形下很容易看出来半空间就是超平面一边的点的集合。任取超平面上的一点,任取半空间中的一点。由于,所以有,推出,也就是说向量是在同一侧的(夹角小于90度),这是其几何意义。所以,“隔离开”可以描述为C1和C2的点在不同的半空间中。根据我们对数据的假设,我们定义数据集是(严格)线性可分的,当且仅当 存在,使得,对所有的样本都成立。

   2.再说说什么是线性分类器。最简单的情况,在二分类的时候,线性分类器就是找到一个函数,使得对于C1中的点,,对于C2中的点,,也就是找到一个超平面去将不同的数据点隔离开,由线性可分的定义,存在性是显然的。当然,从机器学习的角度,线性分类器是一个分类器,关于参数在某种程度上是线性的,目标是让损失函数最小化,我们在这里考虑最简单的情况,直观上很好理解。

    3.好的线性分类器,也就是好的超平面。首先,这个超平面能将数据正确分开,而且,我们希望这个分类器具有鲁棒性,如何描述这一点就用到几何间隔这个概念了,“几何间隔”是 离超平面最近的点的距离 ,而我们可以让几何间隔最大化,来获得稳定的超平面,也就是好的超平面,这一点在其他文章中都有大量说明,这里就不细说。

    4.下面开始正题,我们的目标已经确定,获得几何间隔最大化的超平面,这可以写作下面的式子

或者写成下面的式子:

其中对应一个超平面,见上面的讨论。

就是几何间隔,是点xi到超平面的距离。具体来说,我们假设超平面的法向量w同侧的label都为+1,不同侧的都为-1,所以原本点xi到超平面的距离为,在这个假设下可以写为

由于我们的目标只是获得一个超平面即可,所以我们可以对每一个超平面用一个向量去表示就可以了,而不是用一个子空间去表示。一种方法是,我们限制,这样,对于每个子空间,我们都有一个与之对应。就是当时子空间中的那个向量的前n个分量组成的向量和第n+1个分量,它们分别组成了,这样得到的w模长为1。而对于一个,我们也有唯一的一个子空间与之对应,这样,我们在所有一维子空间与(||w|| = 1)这两个集合间建立了一个一一映射。所以,优化问题可以写为:

看起来依然不好解,哪怕我们用松弛变量转化一下也很麻烦,这里就不细说。看另一种方法。

类似于第一种方法,我们只要能在子空间和单个向量之间建立一种对应关系,并且能够达到化简问题的目的就行了。

我们的目的是找到一个正确的分类超平面,所以,我们可以知道对于我们需要的,一定有几何间隔这一等式成立,除此之外的我们不用考虑,这样,我们将超平面的范围缩小了。这样,一定,使得,我们不妨假设这个下界C是达到的,也就是C是几何间隔。下面我们来寻找与子空间对应的向量,对于一个子空间,我们取,使得,这可以通过让上面的不等式两边除以C达到,这种获得方式是惟一的,因为,我们知道,对于一个超平面,其几何间隔C是确定的,所以这种方法取得的向量为,是唯一的。反之,给一个,满足,那么也有一个子空间与之对应。所以,我们又建立了一个一一对应,可以对问题进行化简了。在这种情况下,我们发现,对于满足约束的向量,其几何间隔等于,所以,化简如下:

这等价于

再等价于

这样,我们就得到了基本的SVM优化问题了。

 

 

 

阅读更多
博主设置当前文章不允许评论。

没有更多推荐了,返回首页