




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、支持向量机算法推导及其分类的算法实现摘要:本文从线性分类问题开始逐步的叙述支持向量机思想的形成, 并提供相应 的推导过程。简述核函数的概念,以及 kernel在SVM算法中的核心地位。介绍 松弛变量引入的 SVM 算法原因,提出软间隔线性分类法。概括 SVM 分别在一 对一和一对多分类问题中应用。基于 SVM 在一对多问题中的不足,提出 SVM 的改进版本 DAG SVM 。Abstract :This article begins with a linear classification problem, Gradually discuss formation of SVM, and the
2、ir derivation. Description the concept of kernel function, and the core position in SVM algorithm. Describes the reasons for the introduction of slack variables, and propose soft-margin linear classification. Summary the application of SVM in one-to-one and one-to-many linear classification. Based o
3、n SVM shortage in one-to-many problems, an improved version which called DAG SVM was put forward.关键字:SVM、线性分类、核函数、松弛变量、DAG SVM1. SVM 的简介支持向量机(Support Vector Machine是Cortes和Vapnik于1995年首先提出 的,它在解决小样本、 非线性及高维模式识别中表现出许多特有的优势, 并能够 推广应用到函数拟合等其他机器学习问题中。 支持向量机方法是建立在统计学习 理论的 VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型
4、 的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力。对于 SVM 的基本特点,小样本,并不是样本的绝对数量少,而是与问题的 复杂度比起来, SVM 算法要求的样本数是相对比较少的。 非线性, 是指 SVM 擅 长处理样本数据线性不可分的情况,主要通过松弛变量和核函数实现,是 SVM 的精髓。高维模式识别是指样本维数很高,通过 SVM 建立的分类器却很简洁, 只包含落在边界上的支持向量。2. 线性分类器及其求解线性分类器,是最简单也很有效的分类器形式。在一个线性分类器中,可以 看到SVM形成的思路,并接触很
5、多SVM的核心概念。用一个二维空间里仅有两类样本的分类问题来举例。如图1所示图1两类样本分类C1和C2是要区分的两个类别,在二维平面中它们的样本如图 1所示。中间 的直线就是一个分类函数,它可以将两类样本完全分开。一般的,如果一个线性 函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性 可分的。很容易看出来,图1中间那条分界线并不是唯一的,旋转一下,只要不把两 类数据分错,仍然可以达到分类的效果,稍微平移一下,也可以。对同一个问题 存在多个分类函数的时候,哪一个函数更好呢?必须要先找一个指标来量化好”的程度,通常使用分类间隔来衡量。设平面中的直线方程为:g(x)二wx b(
6、 1)设Xi是一个有某一对象抽取出的n维向量,yi为分类标记,则可以定义点到某一超平面的间隔:、=yi(wb)( 2)用旦和丄替代(2)式中的w和b 得:|w|w|1l|w|g(Xi)|(3)将(3)式得到的间隔称为几何间隔,几何间隔所表示的正是点到超平面的欧氏 距离,以上是单个点到某个超平面的距离定义,同样可以定义一个点的集合(就是一组样本)到某个超平面的距离为此集合中离超平面最近的点的距离。图2更加直观的展示出了几何间隔的含义。图2分割超平面图2中,H是分类面,H1和H2是平行于H,且过离H最近的两类样本的直线,H1与H , H2与H之间的距离就是几何间隔。几何间隔与样本的误分次数间存 在
7、关系:误差分数其中的S是样本集合到分类面的间隔,R = maxIIXi ll,i胡,n,即r是所有 样本中向量长度最长的值。从上式可以看出,误分次数的上界由几何间隔决定。因此选择几何间隔来作为评价一个解优劣的指标,几何间隔越大的解,它的误差上界越小。因此最大化几何间隔成了我们训练阶段的目标。从(3)式可知,几何间隔与|w|是成反比的,因此最大化几何间隔与最小化|w| 等价。通常不是固定|w|的大小而寻求最大几何间隔,而是固定间隔(例如固定 为1),寻找最小的|w|。此时变成一个最优化问题,若想寻找一个小|w|,就可以用下面的式子表示:min | w |但实际上对于这个目标,常常使用另一个完全等
8、价的目标函数来代替,如下:min 1|w|2如果直接来解这个求最小值问题,很容易看出当|w|=0的时候就得到了目标 函数的最小值。反映在图2中,就是Hi与H2两条直线间的距离无限大,这个时 候,所有的样本点都位于Hl和H2中间,而我们原本的意图是,Hl右侧的被分为 正类,H2左侧的被分为负类,位于两类中间的样本则拒绝分类。这样,所有样 本点都进入了无法分类的灰色地带。造成这种结果的原因是在描述问题的时候只 考虑了目标,而没有加入约束条件,于是可以添加约束条件:yi(w xj b _1(i 二1,2,,n)5 是总的样本数)于是可以将两类分类转化成数学形式,如下:1叫1w|2(4)y(w Xi)
9、b-1 _0(i =1,2,.,n)在这个问题中,自变量就是 w,而目标函数是w的二次函数,所有的约束条件都是w的线性函数,这种规划问题就是二次规划(Quadratic ProgrammingQP),由于它的可行域是一个凸集,因此它是一个凸二次规划。样本确定了 w,用数学的语言描述,就是 w可以表示为样本的某种组合:w= 1X 1*2 2 Xn( 5)式子中的:i是拉格朗日乘子,而X是样本点,也是向量,n就是总样本点的个数。 为了方便描述,以下开始严格区别数字与向量的乘积和向量间的乘积,我会用-iXi表示数字和向量的乘积,而用冷Xj 表示向量冷Xj的内积。因此(1)式 严格的形式应该是:(6)
10、g( x w xw不仅跟样本点的位置有关,还跟样本的类别有关。因此用下面这个式子表(7)w= -1- 22X2 - -ynXn其中的就是第i个样本的标签,它等于1或者-1。其实以上式子的拉格朗 日乘子?1-2- -n中,只有很少的一部分不等于0,这部分不等于0的拉格朗 日乘子后面所乘的样本点,其实都落在 H1和H2上,也正是这部分样本唯一的确 定了分类函数。这部分可以确定分类的样本点,就叫做支持向量。因此原来的 g(x)表达式可以写为:g(x) =: w,x bn(8)(9)=:、C iyiXi),xbi 1nw=2;(円丫匚人)其中, v上式可以变形为:ng(x)=: i yi :人,x b
11、i壬此时消去了上式中的w,问题从求w变成了求。这样就简化了原问题的求 解,以这样的形式描述问题以后,优化问题少了很大一部分不等式约束。 接下来 看看SVM在线性分类器上所做的重大改进一一核函数。3. SVM中的核函数根据模式识别理论,低维空间线性不可分的模式通过非线性映射到高维特征 空间则可能实现线性可分,但是如果直接采用这种技术在高维空间进行分类或回 归,则存在确定非线性映射函数的形式和参数、特征空间维数等问题,而最大的 障碍则是在高维特征空间运算时存在的“维数灾难”。采用核函数技术可以有效 地解决这样问题。如图3所示,当分类问题在低纬空间无法用线性分类方法解决时,可以通过将低纬空间的数据映
12、射到高纬特征空间中,从而达到线性可分的目的feature mapping 尬:尺戎图3低纬度向高纬度空间映射从低纬度向高纬度转化关键在于寻在一个函数,但对目前没有一个系统的方法。对映射过程推导如下:(Xi,X2)J(XiT,X2T)=: (Zi,Z2,Z3),( ZiT,Z2T,Z3T)-=:(xj,2xiX2,X22),(XiT2, , 2xTiXT2,X2T2)2 T2T T2 T2=Xi Xi2X1X2X 1X 2 X2 X2Tt 2(10)H(X,XiX2X2 )= C:X, XT )2 二K(X,XT)从上式可以得出,我们只关心高维空间里内积的值,而核函数就是接受低空间的输入,并计算
13、出在高纬空间的内积值。K(x,xT),就是我们要找的核函数。如图4=昭T; + 匕中勺虑 + #斗=(.YfXi + x2x-.V = (y -心#) 4 kemel function图4在映射过程中的核函数ng(x)=迟 wyiK(Xi,x) + b于是上式,可以表示为V。尽管给的问题是线性不可分的,但凡是要求内积的时候我们就选定的核函数来算。这样求出来的a再和你选定的核函数一组合,就可以得到线性分类器。但是任然存在以下两个问题:1既然有很多的核函数,针对具体问题该怎么选择?2如果使用核函数向高维空间映射后,问题仍然是线性不可分的,那怎么办?第一个问题:对核函数的选择,现在还缺乏指导原则!各
14、种实验的观察结果 的确表明,某些问题用某些核函数效果很好,用另一些就很差,但是一般来讲, 径向基核函数是不会出太大偏差的一种,首选。对第二个问题的解决则引出了 SVM中的另一个概念:松弛变量。4. SVM 中的松弛变量假设有另一个训练集,只比原先这个训练集多了一个样本,映射到高维空间 以后,也就多了一个样本点,但是这个样本的位置是这样的,如图5:图5新增加了一个样本后分类的结果就是图中黄色那个点,它是方形的,因而它是负类的一个样本,这单独的一 个样本,使得原本线性可分的问题变成了线性不可分的。这样类似的问题(仅有少数点线性不可分)叫做 近似线性可分”的问题。对于人类思维,在大量的样本基础上,可
15、能会认为图5中的黄点是错误的,是噪声,会自动的剔除掉。人的思维对于噪声数据具有容错性,可程序没有。由 于我们原本的优化问题的表达式中,确实要考虑所有的样本点,在此基础上寻找 正负类之间的最大几何间隔,而几何间隔本身代表的是距离,是非负的,像上面 这种有噪声的情况会使得整个问题无解。这种解法其实也叫做硬间隔”分类法,因为他硬性的要求所有样本点都满足和分类平面间的距离必须大于某个值。说明硬间隔的分类法其结果容易受少数点的控制。针对硬间隔的问题,解决方法也很明显,就是仿照人的思路,允许一些点到 分类平面的距离不满足原先的要求。由于不同的训练集各点的间距尺度不太一 样,因此用间隔(而不是几何间隔)来衡
16、量有利于我们表达形式的简洁。原先对 样本点的要求是:yi(w) b 1(i =1,2,., n)(n是样本数)(11)该式说明,离分类面最近的样本点函数间隔也要比 1大。如果要引入容错性,就 给1这个硬性的阈值加一个松弛变量,即允许:y(wN)+b畠 1(i =1,2,.,n)(n是样本数)戶、(12)i -0因为松弛变量是非负的,因此最终的结果是要求间隔可以比1小。但是当某些点出现这种间隔比1小的情况时(这些点也叫离群点),意味着放弃了对这些 点的精确分类,而这对分类器来说是种损失。但是放弃这些点也带来了好处,那 就是使分类面不必向这些点的方向移动, 因而可以得到更大的几何间隔。显然必 须权
17、衡这种损失和好处。得到的分类间隔越大,好处就越多。原始的硬间隔分类 对应的优化问题:(13)min2|w|2S.T. y(w xj b-1 _ 0(i =1,2,.,n) |w就是目标函数,希望它越小越好,因而损失就必然是一个能使之变大的量 那如何来衡量损失,有两种常用的方式,f-1两种方法没有大的区别。如果选择了第一种,得到的方法的就叫做二阶软间 隔分类器,第二种就叫做一阶软间隔分类器。把损失加入到目标函数里的时候, 就需要一个惩罚因子,原来的优化问题就变成了下面这样: 1 2min _ | w|2ST. yi(w xj b _1- ,i =1,2,., n)( 14)0这个式子有这么几点要
18、注意:一是并非所有的样本点都有一个松弛变量与其对应。实际上只有离群点”才有,没离群的点松弛变量都等于 0。二是松弛变量的值实际上标示出了对应的点到底离群有多远,值越大,点就 越远。三是惩罚因子C决定了你有多重视离群点带来的损失,显然当所有离群点的 松弛变量的和一定时,定的 C越大,对目标函数的损失也越大,此时就暗示着 不愿意放弃这些离群点,最极端的情况是你把 C定为无限大,这样只要稍有一 个点离群, 目标函数的值马上变成无限大, 马上让问题变成无解, 这就退化成了 硬间隔问题。四是惩罚因子C不是一个变量,整个优化问题在解的时候,C是一个你必须 事先指定的值。五是尽管加了松弛变量这么一说,但这个
19、优化问题仍然是一个优化问题,解 的过程比起原始的硬间隔问题来说,没有任何更加特殊的地方。从大的方面说优化问题解的过程,就是先试着确定一下 w,也就是确定了前 面图中的三条直线, 这时看看间隔有多大, 又有多少点离群, 把目标函数的值算 一算,再换一组三条直线,再把目标函数的值算一算,如此往复(迭代),直到 最终找到目标函数最小时的 w。松弛变量也就是个解决线性不可分问题的方法罢了, 核函数的引入不也是为 了解决线性不可分的问题么?为什么要为了一个问题使用两种方法呢?其实两者还有微妙的不同。一般的情况下,在原始的低维空间中,样本相当 的不可分, 无论怎么找分类平面, 总会有大量的离群点, 此时用
20、核函数向高维空 间映射一下, 虽然结果仍然是不可分的, 但比原始空间里的要更加接近线性可分 的状态,此时再用松弛变量处理那些少数 “冥顽不化 ”的离群点,就简单有效得多 了。至此一个比较完整的支持向量机框架就有了, 简单说来, 支持向量机就是使 用了核函数的软间隔线性分类法。5. 惩罚因子和数据偏斜偏斜问题,也叫数据集偏斜( unbalanced ) ,它指的是参与分类的两个类别 (也可以指多个类别)样本数量差异很大。比如说正类有 10, 000 个样本,而负 类只给了 100 个,这会引起的问题显而易见,如图 7:ria上可以达到与政治类一样多,但过于集中了,结果仍会偏向于政治类!所以给C.
21、和C_确定比例更好的方法应该是衡量他们分布的程度。比如可以算算他们在空间中占据了多大的体积,例如给负类找一个超球,它可以包含所有负类的样本, 再给正类找一个超球,比比两个球的半径,就可以大致确定分布的情况。显然半 径大的分布就比较广,就给小一点的惩罚因子。6. SVM 的改进 DAG SVMSVM是一种典型的两类分类器,而现实中要解决的问题,往往是多类的问题, 比如文本分类,数字识别。如何由两类分类器得到多类分类器, 就是一个值得研 究的问题。以文本分类为例,现成的方法有很多,其中一种一劳永逸的方法,就 是真的一次性考虑所有样本,并求解一个多目标函数的优化问题, 一次性得到多多个超平面把空间划
22、分为多个区域,每个区域对应一个类别,给一篇文章, 看它落在哪个区域就知道了它的分类。这样一次性求解的方法计算量实在太大, 大到无法实用的地步。“一类对其余”的方法,就是每次仍然解一个两类分类的问题。比如有 5 个类别,第一次就把类别1的样本定为正样本,其余2, 3, 4,5的样本合起来 定为负样本,这样得到一个两类分类器,它能够指出一篇文章是还是不是第1类的;第二次我们把类别2的样本定为正样本,把1, 3, 4, 5的样本合起来定 为负样本,得到一个分类器,如此下去,可以得到 5 个这样的两类分类器。这种 方法的好处是每个优化问题的规模比较小, 而且分类的时候速度很快。 但有时也 会出现两种很
23、尴尬的情况, 例如拿一篇文章每一个分类器都说它是属于它那一类 的,或者每一个分类器都说它不是它那一类的, 前者叫分类重叠现象, 后者叫不 可分类现象。 对于分类重叠倒, 随机选一个结果都不至于太离谱, 或者看看这篇 文章到各个超平面的距离, 哪个远就判给哪个。 不可分类现象就着实难办了, 只 能把它分给第 6 个类别了,本来各个类别的样本数目是差不多的, 但“其余”的 那一类样本数总是要数倍于正类,这就人为的造成了“数据集偏斜”问题。再退一步, 还是解两类分类问题, 还是每次选一个类的样本作正类样本, 而 负类样本则变成只选一个类, 这就避免了偏斜。 因此过程就是算出这样一些分类 器,第一个只
24、回答“是第 1类还是第 2类”,第二个只回答“是第 1 类还是第 3 类”,第三个只回答“是第 1 类还是第 4 类”,如此下去,可以马上得出,这样 的分类器应该有 5 X 4/2=10 个。虽然分类器的数目多了,但是在训练阶段所用 的总时间却比“一类对其余”方法少很多, 在真正用来分类的时候, 把一篇文章 扔给所有分类器, 第一个分类器会投票说它是“ 1”或者“ 2”,第二个会说它是 “1”或者“ 3”,让每一个都投上自己的一票,最后统计票数,如果类别“ 1” 得票最多, 就判这篇文章属于第 1 类。这种方法显然也会有分类重叠的现象, 但 不会有不可分类现象,因为总不可能所有类别的票数都是0
25、。这还是类别数为 5的时候,类别数如果是 1000,要调用的分类器数目会上升至约 500,000 个。再退一步,还是像一对一方法那样来训练, 只是在对一篇文章进行分类之前, 先按照图 8 的样子来组织分类器图8 DAG SVM训练方法这样在分类时,就可以先问分类器“1对5”,如果它回答5,就往左走,再 问“2对5”这个分类器,如果它还说是“ 5”,就继续往左走,这样一直问下去, 就可以得到分类结果。优点是,只调用了 4个分类器,分类速度快,且没有分类 重叠和不可分类现象!缺点是,假如最一开始的分类器回答错误,那么后面的分类器是无论如何也无法纠正它的错误的,其实对下面每一层的分类器都存在这种 错
26、误向下累积的现象。DAG方法好于它们的地方就在于,累积的上限,不管是大 是小,总是有定论的,有理论证明。而一对其余和一对一方法中,尽管每一个两 类分类器的泛化误差限是知道的,但是合起来做多类分类的时候,误差上界是多 少,无法知道,这意味着准确率低到0也是有可能的。而且现在DAG方法根节点 的选取,也有一些方法可以改善整体效果,我们总希望根节点少犯错误为好,因此参与第一次分类的两个类别,最好是差别特别特别大,大到以至于不太可能把 他们分错;或者就总取在两类分类中正确率最高的那个分类器作根节点,或者我们让两类分类器在分类的时候,不光输出类别的标签,还输出一个类似“置信 度”等。参考文献1 . Ba
27、hlmann C, Haasdonk B, Burkhardt H. Online handwriting recognition with support vector machines-a kernel approachCFrontiers in Handwriting Recognition, 2002. Proceedings. Eighth International Workshop on. IEEE, 2002: 49-54.2 . Mandel M I, Ellis D P W. Song-level features and support vector machines f
28、or music classificationC/ISMIR 2005: 6th International Conference on Music Information Retrieval: Proceedings: Variation 2: Queen Mary, University of London & Goldsmiths College, University of London, 11-15 September, 2005. Queen Mary, University of London, 2005: 594-599.3 . Chen P, Liu S. An improv
29、ed dag-svm for multi-class classificationC/Natural Computation, 2009. ICNC09. Fifth International Conference on. IEEE, 2009, 1: 460-462.4 . Xuegong Z. Introduction to statistical learning theory and support vector machinesJ. Acta Automatica Sinica, 2000, 26(1): 32-42 .5 . Joachims T. Making large sc
30、ale SVM learning practicalJ. 1999.6 . Cristianini N, Shawe-Taylor J. An introduction to support vector machines and other kernel-based learning methodsM. Cambridge university press, 2000.7 . Niebles J C, Wang H, Fei-Fei L. Unsupervised learning of human action categories using spatial-temporal wordsJ. International Journal of Computer Vision, 2008, 79(3): 299-318.8 . Deselaers T, Pimenidis L, Ney H. Bag-of-visual-words models for
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健美操与健身市场的跨界融合趋势
- 高效能抽水蓄能技术的突破方向
- 2025欧元借款合同范文
- 跨学科协同模式在医学教育中的应用
- 小麦抗白粉病性状的遗传基础研究
- 幼儿多元智能激活
- 答辩秘籍模板
- 公司绿色行动深度解析
- 塑造健康生活模式
- 手工艺术探秘
- 河南省南阳市邓州市2023-2024学年七年级下学期期末生物试题(解析版)
- emc能源管理合同
- 湖北省襄阳樊城区七校联考2025届化学九上期中统考模拟试题含解析
- 幼儿园语言故事《一顶大草帽》课件
- 2024年云南省中考历史试卷(附答案)
- +期末测试卷(试题)-2023-2024学年四年级下册数学人教版
- 人工智能设计伦理智慧树知到期末考试答案章节答案2024年浙江大学
- 2024春期国开电大本科《经济学(本)》在线形考(形考任务1至6)试题及答案
- 银行保安员管理考核办法
- 特殊感染手术处理流程
- 【特殊场景条款】物流运输车辆租赁合同(标准版)
评论
0/150
提交评论