资源描述:
《【5A版】支持向量机课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、9.3支持向量机支持向量机,一种线性和非线性数据有前途的新划分类方法。巧妙利用向量内积的回旋,通过将非线性核函数将问题变为高维特征空间与低维输入空间的相互转换,解决了数据挖掘中的维数灾难。由于计算问题最终转化为凸二次规划问题,因此挖掘算法是无解或有全局最优解。支持向量机定义所谓支持向量机,顾名思义,分为两个部分了解:一,什么是支持向量(简单来说,就是支持或支撑平面上把两类类别划分开来的超平面的向量点)二,这里的“机(machine,机器)”便是一个算法。在机器学习领域,常把一些算法看做是一个机器,如分类机(当然,也叫做分类器),而支持向量
2、机本身便是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。SVM的描述目标:找到一个超平面,使得它能够尽可能多的将两类数据点正确的分开,同时使分开的两类数据点距离分类面最远。解决方法:构造一个在约束条件下的优化问题,具体的说是一个约束二次规划问题(constrainedquadraticprograming),求解该问题,得到分类器。概述1.线性可分情形线性可分情形最大边缘超平面(MMH)边缘:从超平面到其边缘的侧面的最短距离等于到其边缘的另一个侧面的最短距离,边缘侧面平行于超平面分类面与边界距离(margin)的数学表示:分
3、类超平面表示为:Class1Class2m数学语言描述一、线性可分的支持向量(分类)机首先考虑线性可分情况。设有如下两类样本的训练集:线性可分情况意味着存在超平面使训练点中的正类和负类样本分别位于该超平面的两侧。如果能确定这样的参数对(w,b)的话,就可以构造决策函数来进行识别新样本。线性可分的支持向量(分类)机问题是:这样的参数对(w,b)有许多。解决的方法是采用最大间隔原则。最大间隔原则:选择使得训练集D对于线性函数(w·x)+b的几何间隔取最大值的参数对(w,b),并由此构造决策函数。在规范化下,超平面的几何间隔为于是,找最大几何
4、间隔的超平面表述成如下的最优化问题:(1)线性可分的支持向量(分类)机为求解问题(1),使用Lagrange乘子法将其转化为对偶问题。于是引入Lagrange函数:其中,称为Lagrange乘子。首先求Lagrange函数关于w,b的极小值。由极值条件有:得到:(2)(3)(4)线性可分的支持向量(分类)机将(3)式代入Lagrange函数,并利用(4)式,则原始的优化问题转化为如下的对偶问题(使用极小形式):这是一个凸二次规划问题有唯一的最优解(5)求解问题(5),得。则参数对(w,b)可由下式计算:线性可分的支持向量(分类)机支持向
5、量:称训练集D中的样本xi为支持向量,如果它对应的i*>0。根据原始最优化问题的KKT条件,有于是,支持向量正好在间隔边界上于是,得到如下的决策函数:几何意义:超平面法向量是支持向量的线性组合。几何意义a6=1.4Class1Class2a1=0.8a2=0a3=0a4=0a5=0a7=0a8=0.6a9=0a10=0对于线性不可分的样本怎么办?非线性可分情形如何找到正确的分类曲线和正确的超平面对此类情况分类?非线性可分情形关键点:把xi变换到高维的特征空间为什么要变换?通过加入一个新的特征xi,使得样本变成线性可分的,此时特征空间维
6、数变高Transformx(x)例子ax12+bx22=1[w]1z1+[w]2z2+[w]3z3+b=0设训练集,其中假定可以用平面上的二次曲线来划分:现考虑把2维空间映射到6维空间的变换上式可将2维空间上二次曲线映射为6维空间上的一个超平面:非线性分类可见,只要利用变换,把x所在的2维空间的两类输入点映射x所在的6维空间,然后在这个6维空间中,使用线性学习机求出分划超平面:最后得出原空间中的二次曲线:非线性分类如何选择到较高维空间的非线性映射?给定的检验元组,必须计算与每个支持向量的点积,出现形如可以引入核函数(内积的回旋)来替代
7、需要求解的最优化问题非线性分类最后得到决策函数或为此,引进函数实现非线性分类的思想给定训练集后,决策函数仅依赖于而不需要再考虑非线性变换如果想用其它的非线性分划办法,则可以考虑选择其它形式的函数,一旦选定了函数,就可以求解最优化问题实现非线性分类的思想其中解得,而决策函数目前研究最多的核函数主要有三类:核函数的选择多项式内核得到q阶多项式分类器包含一个隐层的多层感知器,隐层节点数是由算法自动确定Sigmoid内核每个基函数中心对应一个支持向量,它们及输出权值由算法自动确定高斯径向基函数内核RBF几个典型的核函数核的比较现有5个一维数据x1
8、=1,x2=2,x3=4,x4=5,x5=6,其中1,2,6为class1,4,5为class2y1=1,y2=1,y3=-1,y4=-1,y5=1选择polynomialkernelofd