您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 支持向量机SVM-PPT课件
支持向量机理论及发展李保连2012-11-20主要内容SVM基本原理SVM面临的一些问题TWINSVM介绍SVM简介支持向量机理论简介支持向量机SVM(SupportVectorMachine)是统计机器学习的一类重要算法,它根据统计学习理论,以结构风险最小化原则为理论基础的一种新的机器学习方法,能有效地解决高维数和非线性等问题,有效地进行分类、回归等。与其它分类器相比,SVM具有更好的泛化性。迄今为止,SVM已经在模式分类、回归分析、函数估计等领域有广泛的应用。什么是svm原始区域svm划分后的区域SVM基本原理线性可分类型问题描述:我们要用一条直线,将上图中黑色的点和白色的点分开,很显然,图上的这条直线就是我们要求的直线之一(可以有无数条这样的直线)SVM基本原理我们令深色的点=-1,浅色的点=+1,直线f(x)=W·X+b,这里的W、X是向量,这种形式也等价于f(x)=W1X1+W2X2…+WnXn+b当向量x的维度等于2的时候,f(x)表示二维空间中的一条直线,当x的维度=3的时候,f(x)表示3维空间中的一个平面,当x的维度=n3的时候,表示n维空间中的n-1维超平面。当有一个新的点x需要预测属于哪个分类的时候,我们用sgn(f(x)),就可以预测了这里sgn表示符号函数当f(x)0时,sgn(f(x))=+1当f(x)0时,sgn(f(x))=–1SVM基本原理怎样才能取得一个最优的划分直线f(x)呢?下图的直线表示几条可能的f(x)SVM基本原理一个很直观的感受是,让这条直线到给定样本中最近的点最远下面有两种划分方法第一种第二种右图中被红色和蓝色圈中的点即所谓的支持向量(supportvector)SVM基本原理原则:分割的间隙越大越好,把两个类别的点分得越开越好在SVM中,这种最大的分隔间隙称为MaximumMarginal,是SVM的一个理论基础。ClassifierBoundary就是f(x),红色和蓝色的线(plusplane与minusplane)就是supportvector所在的面红色、蓝色线之间的间隙就是我们要最大化的分类间的间隙SVM基本原理根据解析几何可得出M的表达式:经过一系列的数学变换,得出我们要优化求解的表达式:||w||的意思是w的二范数,跟上面的M表达式的分母意思相同,之前得到,M=2/||w||,最大化这个式子等价于最小化||w||,另外由于||w||是一个单调函数,为了方便求导,我们可以对其加入平方和前面的系数SVM基本原理上式有还有一些限制条件,完整的表达方式如下:s.t.意为subjectto,即在后面这个限制条件下的意思,这个词在svm的论文里面出现的频率很高。这其实是一个带约束的二次规划(quadraticprogramming,QP)问题,是一个凸问题。凸问题就是指的不会有局部最优解,可以想象一个漏斗,不管我们开始的时候将一个小球放在漏斗的什么位置,这个小球最终一定可以掉出漏斗,也就是得到全局最优解。s.t.后面的限制条件可以看做是一个凸多面体,我们要做的就是在这个凸多面体中找到最优解。SVM基本原理这个优化问题可以用拉格朗日乘子法去解,使用了KKT条件的理论,这里直接给出这个式子的拉格朗日目标函数求解这个式子的过程需要拉格朗日对偶性的相关知识,首先让L关于w,b最小化,分别令L关于w,b的偏导数为0,得到关于原问题的一个表达式SVM基本原理将两式带回L(w,b,a)得到对偶问题的表达式:SVM基本原理新问题加上其限制条件是(对偶问题):这个就是我们需要最终优化的式子。至此,得到了线性可分问题的优化式子。求解这个式子,有很多的方法,比如SMO等SVM基本原理线性可分这种假设局限性比较大,接下来谈谈线性不可分的情况:下图就是一个典型的线性不可分的分类图,我们没有办法用一条直线去将其分成两个区域,使每个区域只包含一种颜色的点。线性不可分类型SVM基本原理要想在这种情况下的分类器,有两种方式:第一种:用曲线去将其完全分开SVM基本原理第二种:还是用直线,不过不用去保证可分性,就是包容那些分错的情况,这里我们得加入惩罚函数,使得点分错的情况越合理越好。很多时候,不是在训练的时候分类函数越完美越好,因为训练函数中有些数据本来就是噪声,可能就是在人工加上分类标签的时候出现了错误,如果在训练(学习)的时候把这些错误的点学习到了,那么模型在下次碰到这些错误情况的时候就难免出错。这种学习的时候学到了“噪声”的过程就是一个过拟合(over-fitting)SVM基本原理用直线怎么去分割线性不可分的点:我们可以为分错的点加上一点惩罚,对一个分错的点的惩罚函数就是这个点到其正确位置的距离:在上图中,蓝色、红色的直线分别为支持向量所在的边界,绿色的线为决策函数,那些紫色的线表示分错的点到其相应的决策面的距离,这样我们可以在原函数上面加上一个惩罚函数,并且带上其限制条件为:SVM基本原理公式中蓝色的部分为在线性可分问题的基础上加上的惩罚函数部分,当xi在正确一边的时候,ε=0,R为全部的点的数目,C是一个由用户去指定的系数,表示对分错的点加入多少的惩罚,当C很大的时候,分错的点就会更少,但是过拟合的情况可能会比较严重,当C很小的时候,分错的点可能会很多,不过可能由此得到的模型也会不太正确,所以如何选择C是有很多学问的,不过在大部分情况下就是通过经验尝试得到的。接下来就是同样的,求解一个拉格朗日对偶问题,得到一个原问题的对偶问题的表达式:SVM基本原理蓝色的部分是与线性可分的对偶问题表达式的不同之处。在线性不可分情况下得到的对偶问题,不同的地方就是α的范围从[0,+∞),变为了[0,C],增加的惩罚ε没有为对偶问题增加什么复杂度。SVM基本原理核函数:SVM的关键在于核函数,低维空间向量集通常难于划分,解决的方法是将它们映射到高维的特征空间。但这个办法带来的困难就是计算复杂度的增加,而核函数正好巧妙地解决了这个问题。我们可以让空间从原本的线性空间变成一个更高维的空间,在这个高维的线性空间下,再用一个超平面进行划分。这儿举个例子,来理解一下如何利用空间的维度变得更高来帮助我们分类的:SVM基本原理下图是一个典型的线性不可分的情况但是当我们把这两个类似于椭圆形的点映射到一个高维空间后,映射函数为:SVM基本原理用这个函数可以将上图的平面中的点映射到一个三维空间(z1,z2,z3),并且对映射后的坐标加以旋转之后就可以得到一个线性可分的点集了。SVM基本原理为什么要映射到高维空间:当维度增加到无限维的时候,一定可以让任意的两个物体可分了。举一个哲学例子来说:世界上本来没有两个完全一样的物体,对于所有的两个物体,我们可以通过增加维度来让他们最终有所区别,比如说两本书,从(颜色,内容)两个维度来说,可能是一样的,我们可以加上作者这个维度,实在不行我们还可以加入页码,可以加入拥有者,可以加入购买地点,可以加入笔记内容等等来使它们变得不同。SVM基本原理回忆刚刚得到的对偶问题表达式我们可以将红色这个部分进行改造,令:这个式子所做的事情就是将线性的空间映射到高维的空间,k(x,xj)有很多种,下面列举一些常见的核函数:SVM基本原理常用的核函数有以下4种:(1)线性核函数K(x,y)=x·y;(2)多项式核函数K(x,y)=[(x·y)+1]d;(3)径向基函数K(x,y)=exp(-|x-y|^2/d^2)(4)二层神经网络核函数K(x,y)=tanh(a(x·y)+b).小结:1.只要选用适当的核函数,我们就可以得到高维空间的分类函数。2.在SVM理论中,采用不同的核函数将导致不同的SVM算法SVM面临的一些问题经典的支持向量机算法只给出了二类分类的算法,上面所谈到的分类都是二类分类的情况。而在数据挖掘的实际应用中,一般要解决多类的分类问题。多类分类问题可以通过多个二类支持向量机的组合来解决。主要有一对多组合模式、一对一组合模式1vs1、和SVM决策树;再就是通过构造多个分类器的组合来解决。主要原理是克服SVM固有的缺点,结合其他算法的优势,解决多类问题的分类精度。如:与粗集理论结合,形成一种优势互补的多类问题的组合分类器。一对多组合模式1vs(N–1):需要训练N个分类器,第i个分类器是看看是属于分类i还是属于分类i的补集(除去i的N-1个分类)一对一组合模式1vs1:需要训练N*(N–1)/2个分类器,分类器(i,j)能够判断某个点是属于i还是属于j,这种处理方式不仅在SVM中会用到,在很多其他的分类中也是被广泛用到从已有的研究来看,1vs1的方式要优于1vs(N–1)SVM如何进行多分类SVM面临的一些问题SVM算法对大规模训练样本难以实施由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。针对以上问题的主要改进有有J.Platt的SMO算法、T.Joachims的SVM、C.J.C.Burges等的PCGC、张学工的CSVM以及O.L.Mangasarian等的SOR算法SVM处理大规模数据问题SVM面临的一些问题SVM避免overfitting,一种是调整之前说的惩罚函数中的C,另一种其实从式子上来看,min||w||^2这个式子可以让函数更平滑,所以SVM是一种不太容易over-fitting的方法。SVM会overfitting吗TWINSVM介绍TWSVM(对支持向量机)是一种通过解决SVM相关问题确定两个非平行平面的新的二元SVM分类器,与传统的SVM方法相比,TwinSVM不仅达到了更快的检测速度及更优的检测效果,而且大大降低了算法的时间复杂度.Jayadeva和R.Khemchandani于2007年提出了一种该改进的二值数据的分类器双分界面支持向量机(TwinSVMs,以下简称TwSVMs)。它在形式上类似于传统的支持向量机,具有支持向量机的优点,却对大规模数据具有更好的处理能力。TWSVMs模型的目标是为两个类各自得到一个分类平面,属于每个类的数据尽量围绕在与之相对应的分类平面周围。假设属于1类和-1类的数据点分别由矩阵A和矩阵B来表示,1类和-1类中模型的个数分别是m1和m2,那么TWSVMs分类器可以通过以下一对二次规划问题得到:什么是twinsvmTWINSVM介绍什么是twinsvmTWSVM算法为每一个类都找到一个超平面,式1中的第1项是属于A类的所有数据点到与之对应的分类面的距离的平方和,第2项是误差变量的和。式2中各项的意义与之类似。TWINSVM介绍通过解以上一对二次规划问题,可以得到TWSVMs的分类面:twinsvm的原问题TWINSVM介绍twinsvm与svm的区别和联系区别:约束条件要解决的问题训练时间SVM所有的数据都一个二次规划问题T在约束条件中其中一个类的数据作为另一TWSVM个类二次规划一对二次规划的问题T/4问题的约束条件,反之亦然联系:除了约束条件不包含所有数据外,TWSVM中每个二次规划问题都接近于传统的SVM形式,所以TWSVM可以看做是SVM的分解算法。同时,对于解决大规模问题,SVM和TWSVM也都难以实施。目前,已提出一些进一步改进的算法,如TWSTM,GTWSVM等.谢谢!
本文标题:支持向量机SVM-PPT课件
链接地址:https://www.777doc.com/doc-7186376 .html