SVM 一气呵成

来源:互联网 发布:宝利通mcu服务器软件 编辑:程序博客网 时间:2024/04/28 13:18

阅读本文前,需要对机器学习有一定的了解,本文仅对SVM基本理论做一个梳理。
1 引入
  机器学习一个最根本的任务就是分类,而分类问题中大多数又属于二分类问题,其最简单直接的描述方式如下:
  给定一训练集 T,形如
(xi0,xi1,...,xin;yi)=(Xi;Yi),i=0,1,2,...,m(1)
和一个算法 A, 形如

output=A(input)

当运行output=A(input=T) 后,对于一条测试数据(ti0,ti1,...,tin;?),我们不知道它属于什么类别,A 能回答这条测试数据所属类别,或者更多时候能给出这条测试数据属于某个类别的概率。
  为了能很好的理解SVM,先简单介绍一下感知机。如果把训练集用几何来表示,对于二维训练(xi0,xi1;yi),i=0,1,2,...,m,在二维空间中实际上对应一个一个的数据点,只不过每个点有一个标签的属性,如图所示。


如果能找到一条直线L,将二维平面划分成两部分,处于上半平面的属于一种类别,记为+1类,下半平面的又属于一种类别,记为-1类,那么就说该数据集线性可分。基本的感知机首先假设数据集线性可分,也就是说对于训练集T,能找到一个n-1 维的空间(也就是n维空间的超平面),将数据集完全划分开来。然后再去寻找这个超平面,感知机的思想是只要找到一个超平面即可,拿二维空间来说,为了找到一条直线划分训练集,存在无穷多条直线完成这个任务,那么,选哪一个好呢?在感知机中,这个超平面直接与最初的参数有关,虽然感知机将线性可分的数据集完全分开了,也就是说训练误差可以减小到0,但是它对于未知数据的分类能力未必就好。而机器学习往往需要的就是这种对未知数据的预测能力,而不在于对已知数据的拟合能力。

2 优化模型建立

  基于上述原因,SVM被发展起来,在感知机的基础上进一步思考,既然已经可以找到一个超平面将线性可分的数据集完全分开,那么能不能找到一个超平面,它不仅可以将数据集分开,而且对于未知数据的也有较好的预测能力呢?

   答案是肯定的。为了完成这个目标,我们假设数据点到超平面(ω,b)的距离表示对此数据点分类表的可信度,距超平面越远,我们认为分类的可信度越大,如果某个数据点处于超平面上,那么可信度为0,即不能确定该数据点到底属于哪一类。有了可信度的概念之后,对于一个给定的训练集T 和超平面(ω,b) ,数据集中存在一个数据点Xi到超平面的距离是最小的,将这个最小的距离记为
γ^mini|ωXi+b|||ω||(2)

显然,如果改变超平面 (ω,b),此最小距离必定减小或增大,当然,我们希望通过改变超平面使得这个最小距离增大,因此,基于这样的考量,SVM的目标函数出炉了,写成数学形式如下

max(ω,b)mini|ωXi+b|||ω||(3)

当然,上面的优化问题是不能直接优化的。但是我们可以通过等效的数学手段进行处理,使得它变成易于优化的形式。

  首先,|ωXi+b|||ω|| 表示的是几何距离(如果分母取L2范数的的话其实就是欧氏距离,在SVM中被称之为几何间隔),其分子|ωXi+b| 表示的是相对距离,上面已经说过,处于上半超平面的数据点被标注为+1类,对应的yi=+1,(ωXi+b>=0),处于下半超平面的被标注为1类,对应的yi=1,(ωXi+b<0),那么,这个相对距离可以统一表示为yi(ωXi+b),这个公式在SVM 中被定义为函数间隔, 如果某个数据点被超平面(ω,b) 划分正确,则 必有 yi(ωXi+b)>=0,如果某个数据点被超平面(ω,b) 划分错误,则 yi(ωXi+b)<0,做此等效处理后,重写原始优化问题公式如下

max(ω,b)miniyi(ωXi+b)||ω||(4)

  进一步,对于内层的优化min ,当给定超平面(ω,b) 时,其实是在训练集上的一次遍历,找到最小的几何间隔,上面已假设这个最小的相对距离为γ^,那么min 这个过程可以通过施加约束条件处理掉,具体地,原始优化问题进一步写作

max(ω,b)γ^||ω||,s.t.yi(ωXi+b)γ^,i=1,2,...,m(5)

这个等效的最优化问题更加容易进行数学处理,不过发现,γ^ 表示数据集对超平面的最小相对距离,它的取值对最优化问题的解并不影响,这样就可以令 γ^=1,这样,问题变得更加简洁

max(ω,b)1||ω||,s.t.yi(ωXi+b)1,i=1,2,...,m(6)

到了这里,实际上原始最优化问题的这个等价形式依然不能直接求解,不过,现在只需要简单的等价变换,就可以让其变得可以求解,max(ω,b)1||ω||可以等价地写成min(ω,b)12||ω||2,这样,原始最优化问题终于变成了一个可以求解的标准二次优化问题,重新写作

min(ω,b)12||ω||2s.t.yi(ωXi+b)γ^,i=1,2,,m(7)

借助于现有的二次规划求解包,就可以求解该问题,但是当数据规模很大的时候,这个问题还是不易求解,优化时间甚至难以接受。需要继续处理上述优化问题,使得其更加易于求解。

3

此笔记未完待续…..

不足之处,欢迎批评指正。

reference:

统计学习方法/李航

原创粉丝点击