1 简介
转自http://www.cnblogs.com/jerrylead
支持向量机基本上是最好的有监督学习算法了。最开始接触SVM是去年暑假的时候,老师要求交《统计学习理论》的报告,那时去网上下了一份入门教程,里面讲的很通俗,当时只是大致了解了一些相关概念。这次斯坦福提供的学习材料,让我重新学习了一些SVM知识。我看很多正统的讲法都是从VC 维理论和结构风险最小原理出发,然后引出SVM什么的,还有些资料上来就讲分类超平面什么的。这份材料从前几节讲的logistic回归出发,引出了SVM,既揭示了模型间的联系,也让人觉得过渡更自然。
2 重新审视logistic回归
Logistic回归目的是从特征学习出一个0/1分类模型,而这个模型是将特性的线性组合作为自变量,由于自变量的取值范围是负无穷到正无穷。因此,使用logistic函数(或称作sigmoid函数)将自变量映射到(0,1)上,映射后的值被认为是属于y=1的概率。
形式化表示就是
假设函数
其中x是n维特征向量,函数g就是logistic函数。

clip_image002

clip_image003
可以看到,将无穷映射到了(0,1)。
而假设函数就是特征属于y=1的概率。

clip_image004
当我们要判别一个新来的特征属于哪个类时,只需求

clip_image006
再审视一下

clip_image006[1]

clip_image006[2]

clip_image008

clip_image008[1]

clip_image010

clip_image008[2]

clip_image012

clip_image006[3]

clip_image006[4]

clip_image008[3]

clip_image012[1]

clip_image014

clip_image016
图形化表示如下:

clip_image017
中间那条线是

clip_image019
3 形式化表示
我们这次使用的结果标签是y=-1,y=1,替换在logistic回归中使用的y=0和y=1。同时将

clip_image016[1]

clip_image021

clip_image023

clip_image025

clip_image027

clip_image029

clip_image031

clip_image033

clip_image035

clip_image037
上一节提到过我们只需考虑

clip_image008[4]

clip_image039
4 函数间隔(functional margin)和几何间隔(geometric margin)
给定一个训练样本

clip_image041

clip_image043
可想而知,当

clip_image045

clip_image047

clip_image049

clip_image051

clip_image045[1]

clip_image053
继续考虑w和b,如果同时加大w和b,比如在

clip_image055

clip_image057
刚刚我们定义的函数间隔是针对某一个样本的,现在我们定义全局样本上的函数间隔

clip_image058
说白了就是在训练样本上分类正例和负例确信度最小那个函数间隔。
接下来定义几何间隔,先看图

clip_image059
假设我们有了B点所在的

clip_image057[1]

clip_image061

clip_image063

clip_image065

clip_image041[1]

clip_image067

clip_image057[2]

clip_image069
进一步得到

clip_image070

clip_image061[1]
再换种更加优雅的写法:

clip_image071
当

clip_image073

clip_image075

clip_image076
5 最优间隔分类器(optimal margin classifier)
回想前面我们提到我们的目标是寻找一个超平面,使得离超平面比较近的点能有更大的间距。也就是我们不考虑所有的点都必须远离超平面,我们关心求得的超平面能够让所有点中离它最近的点具有最大间距。形象的说,我们将上面的图看作是一张纸,我们要找一条折线,按照这条折线折叠后,离折线最近的点的间距比其他折线都要大。形式化表示为:

clip_image077
这里用

clip_image075[1]

clip_image079
到此,我们已经将模型定义出来了。如果求得了w和b,那么来一个特征x,我们就能够分类了,称为最优间隔分类器。接下的问题就是如何求解w和b的问题了。
由于

clip_image081

clip_image083

clip_image084
这时候其实我们求的最大值仍然是几何间隔,只不过此时的w不受

clip_image081[1]

clip_image086

clip_image088

clip_image090

clip_image090[1]

clip_image092

clip_image093
这下好了,只有线性约束了,而且是个典型的二次规划问题(目标函数是自变量的二次函数)。代入优化软件可解。
到这里发现,这个讲义虽然没有像其他讲义一样先画好图,画好分类超平面,在图上标示出间隔那么直观,但每一步推导有理有据,依靠思路的流畅性来推导出目标函数和约束。
接下来介绍的是手工求解的方法了,一种更优的求解方法。
