人工智能大作业21_第1页
人工智能大作业21_第2页
人工智能大作业21_第3页
人工智能大作业21_第4页
人工智能大作业21_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.:.;研讨报告题 目 支持向量机学习报告 学 号 学 生 支持向量机学习报告支持向量机方法是建立在统计学习实际的VC 维实际和构造风险最小原理根底上的,根据有限的样本信息在模型的复杂性即对特定训练样本的学习精度和学习才干即无错误地识别恣意样本的才干之间寻求最正确折衷,以期获得最好的推行才干。支持向量机SVM(Support Vector Machine)是AT&TBell实验室的VVapnik提出的针对分类和回归问题的统计学习实际。由于SVM方法具有许多优点和有出路的实验性能,该技术已成为机器学习研讨领域中的热点,并获得很理想的效果,如人脸识别、手写体数字识别和网页分类等。1原理及方法SVM

2、根据问题的复杂性可以分为线性可分SVM和非线性可分SVM,其根本原理如下:在进展文本分类的时候,每一个样本由一个向量就是那些文本特征所组成的向量和一个标志标示出这个样本属于哪个类别组成。如下: Di=(xi,yi) xi就是文本向量维数很高,yi就是分类标志。 在二元的线性分类中,这个表示分类的标志只需两个值,1和-1用来表示属于还是不属于这个类。有了这种表示法,可以定义一个样本点到某个超平面的间隔: yi(wxi+b)假设某个样本属于该类别的话,那么wxi+b0由于我们所选的g(x)=wx+b就经过大于0还是小于0来判别分类,而yi也大于0;假设不属于该类别的话,那么wxi+b 核函数矩阵K

3、是对称半正定的。这个条件也是充分的,由Mercer定理来表达。Mercer定理:假设函数K是上的映射也就是从两个n维向量映射到实数域。那么假设K是一个有效核函数也称为Mercer核函数,那么当且仅当对于训练样例,其相应的核函数矩阵是对称半正定的。Mercer定理阐明为了证明K是有效的核函数,那么不用去寻觅,而只需求在训练集上求出各个,然后判别矩阵K能否是半正定运用左上角主子式大于等于零等方法即可。把一个本来线性不可分的文本分类问题,经过映射到高维空间而变成了线性可分的。就像以下图这样: 圆形和方形的点各有成千上万个。如今想象我们有另一个训练集,只比原先这个训练集多了一篇文章,映射到高维空间以后

4、当然,也运用了一样的核函数,也就多了一个样本点,但是这个样本的位置是这样的:就是图中黄色那个点,它是方形的,因此它是负类的一个样本,这单独的一个样本,使得本来线性可分的问题变成了线性不可分的。这样类似的问题仅有少数点线性不可分叫做“近似线性可分的问题。 但这种对噪声的容错性是人的思想带来的。由于本来的优化问题的表达式中,确实要思索一切的样本点,在此根底上寻觅正负类之间的最大几何间隔,而几何间隔本身代表的是间隔 ,是非负的,像上面这种有噪声的情况会使得整个问题无解。这种解法其实也叫做“硬间隔分类法,由于他硬性的要求一切样本点都满足和分类平面间的间隔 必需大于某个值。 仿照人的思绪,允许一些点到分

5、类平面的间隔 不满足原先的要求。由于不同的训练集各点的间距尺度不太一样,因此用间隔而不是几何间隔来衡量有利于我们表达方式的简约。我们原先对样本点的要求是: 意思是说离分类面最近的样本点函数间隔也要比1大。假设要引入容错性,就给1这个硬性的阈值加一个松弛变量,即允许由于松弛变量是非负的,因此最终的结果是要求间隔可以比1小。但是当某些点出现这种间隔比1小的情况时这些点也叫离群点,意味着我们放弃了对这些点的准确分类,而这对我们的分类器来说是种损失。但是放弃这些点也带来了益处,那就是使分类面不用向这些点的方向挪动,因此可以得到更大的几何间隔在低维空间看来,分类边境也更平滑。显然我们必需权衡这种损失和益

6、处。益处很明显,我们得到的分类间隔越大,益处就越多。回想我们原始的硬间隔分类对应的优化问题:|w|2就是目的函数当然系数可有可无,希望它越小越好,因此损失就必然是一个能使之变大的量能使它变小就不叫损失了,我们本来就希望目的函数值越小越好。那如何来衡量损失, 其中l都是样本的数目。把损失参与到目的函数里的时候,就需求一个惩罚因子cost,也就是libSVM的诸多参数中的C,原来的优化问题就变成了下面这样:一是并非一切的样本点都有一个松弛变量与其对应。实践上只需“离群点才有,一切没离群的点松弛变量都等于0对负类来说,离群点就是在前面图中,跑到H2右侧的那些负样本点,对正类来说,就是跑到H1左侧的那

7、些正样本点。 二是松弛变量的值实践上标示出了对应的点究竟离群有多远,值越大,点就越远。 三是惩罚因子C决议了注重离群点带来的损失的程度,显然当一切离群点的松弛变量的和一定时,定的C越大,对目的函数的损失也越大,此时就暗示着不情愿放弃这些离群点,最极端的情况是把C定为无限大,这样只需稍有一个点离群,目的函数的值马上变成无限大,问题变成无解,这就退化成了硬间隔问题。 四是惩罚因子C不是一个变量,整个优化问题在解的时候,C是一个必需事先指定的值,指定这个值以后,解一下,得到一个分类器,然后用测试数据看看结果怎样样,假设不够好,换一个C的值,再解一次优化问题,得到另一个分类器,再看看效果,如此就是一个

8、参数寻优的过程,但这和优化问题本身决不是一回事,优化问题在解的过程中,C不断是定值。 从大的方面说优化问题解的过程,就是先试着确定一下w,也就是确定了前面图中的三条直线,这时看看间隔有多大,又有多少点离群,把目的函数的值算一算,再换一组三条直线他可以看到,分类的直线位置假设挪动了,有些原来离群的点会变得不再离群,而有的本来不离群的点会变成离群点,再把目的函数的值算一算,如此往复迭代,直到最终找到目的函数最小时的w。 松弛变量也就是处理线性不可分问题的方法,核函数的引入也是为理处理线性不可分的问题。其实两者还有些不同。以文本分类为例。在原始的低维空间中,样本相当的不可分,无论怎样找分类平面,总会

9、有大量的离群点,此时用核函数向高维空间映射一下,虽然结果依然是不可分的,但比原始空间里的要更加接近线性可分的形状就是到达了近似线性可分的形状,此时再用松弛变量处置那些少数“冥顽不化的离群点,更加简单有效。 对比复杂的推导过程,SVM的思想确实简单。是在样本中去找分隔线,为了评判哪条分界限更好,引入了几何间隔最大化的目的。之后处理目的函数的最优化问题。在处理最优化的过程中,发现了w可以由特征向量内积来表示,进而发现了核函数,仅需求调整核函数就可以将特征进展低维到高维的变换,在低维上进展计算,本质结果表如今高维上。由于并不是一切的样本都可分,为了保证SVM的通用性,进展了软间隔的处置,导致的结果就

10、是将优化问题变得更加复杂,然而惊奇的是松弛变量没有出如今最后的目的函数中。最后的优化求解问题,也被拉格朗日对偶和SMO算法化解,使SVM趋向于完美。SVM有如下主要几个特点:(1)非线性映射是SVM方法的实际根底,SVM利用内积核函数替代向高维空间的非线性映射;(2)对特征空间划分的最优超平面是SVM的目的,最大化分类边沿的思想是SVM方法的中心;(3)支持向量是SVM的训练结果,在SVM分类决策中起决议作用的是支持向量。(4)SVM 是一种有坚实实际根底的新颖的小样本学习方法。它根本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效

11、的从训练样本到预告样本的“转导推理,大大简化了通常的分类和回归等问题。(5)SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上防止了“维数灾难。(6)少数支持向量决议了最终结果,这不但可以协助 我们抓住关键样本、“剔除大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒性。这种“鲁棒性主要表达在:增、删非支持向量样本对模型没有影响;支持向量样本集具有一定的鲁棒性;有些胜利的运用中,SVM 方法对核的选取不敏感两个缺乏:(1) SVM算法对大规模训练样本难以实施由于SVM是借助二次规划来求解支持向量,而求解二次规划将

12、涉及m阶矩阵的计算m为样本的个数,当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。针对以上问题的主要改良有有J.Platt的SMO算法、T.Joachims的SVM、C.J.C.Burges等的PCGC、张学工的CSVM以及O.L.Mangasarian等的SOR算法(2) 用SVM处理多分类问题存在困难经典的支持向量机算法只给出了二类分类的算法,而在数据发掘的实践运用中,普通要处理多类的分类问题。可以经过多个二类支持向量机的组合来处理。主要有一对多组合方式、一对一组合方式和SVM决策树;再就是经过构造多个分类器的组合来处理。主要原理是抑制SVM固有的缺陷,结合其他算法的优势,

13、处理多类问题的分类精度。如:与粗集实际结合,构成一种优势互补的多类问题的组合分类器。2实验及分析2.1libsvm自带例子1用heart_scale测试调整c,分类准确率会变化,但是,变为100%,我以为能够是测试数据和训练数据是一样的数据集引起的。2不同的参数tt 核函数类型:核函数设置类型(默许2)0 线性:uv1 多项式:(r*uv + coef0)degree2 RBF函数:exp(-r|u-v|2)3 sigmoid:tanh(r*uv + coef0)不同的核函数对分类准确率的影响。对于heart_scale不同的核函数对分类准确率的影响不大,rbf 核函数的性能最好。3调整c和g

14、以找到最优的c和g使分类正确率最高调整c和g得到c=1和g=0.03125,分类正确率最高。2.2wine数据集实验1测试wine数据标签有三类,各选取一半作为测试集,一半为训练集。准确率并不好。 2不同的参数tt 核函数类型:核函数设置类型(默许2)0 线性:uv1 多项式:(r*uv + coef0)degree2 RBF函数:exp(-r|u-v|2)3 sigmoid:tanh(r*uv + coef0)不同的核函数对分类准确率的影响。多项式和sigmoid函数的训练结果最差。3调整c和g以找到最优的c和g使分类正确率最高。调整c和g得到c=64和g=0.00097,分类正确率最高。3

15、图形化3结论及改良SVM有如下主要几个特点: (1)非线性映射是SVM方法的实际根底,SVM用内积核函数替代向高维空间的非线性映射;(2)对特征空间划分的最优超平面是SVM的目的,最大化分类间隔是SVM方法的中心; (3)支持向量是SVM的训练结果,在SVM分类决策中起决议作用 (4)SVM 是一种有坚实实际根底的小样本学习方法。它根本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预告样本的“转导推理,大大简化了通常的分类和回归等问题; (5)SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量

16、的数目,而不是样本空间的维数,这在某种意义上防止了“维数灾难。 (6)少数支持向量决议了最终结果,这不但可以协助 我们抓住关键样本、“剔除大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒性。SVM缺乏: (1) 训练好SVM分类器后,得到的支持向量被用来构成决策分类面。对于大规容貌本集问题,SVM训练得到的支持向量数目很大,那么进展分类决策时的计算代价很大。(2) 用SVM处理多分类问题存在困难,经典的支持向量机算法只给出了二类分类的算法,要处理多类的分类问题。可以经过多个二类支持向量机的组合来处理。要针对不同的问题选择不同的核函数。规范的SVM对噪声是不具有鲁棒性的,如何选择适宜的目的函数以实现鲁棒性是至关重要的。要根据详细问题选择适宜的核函数及惩罚因子,多次实验选择最好的结果。一个好的分类器固然重要,但前期的数据预处置亦很重要。当数据预处置的好的话,特征提取的好的话,分类器的影响不会占很大比重。SVM算法参数选择能够是凭仗阅历、实验对比、大范围的搜索或者利用软件包提供的交互检验功能进展寻优。参考文献1Chih-Jen Lin Department of Computer Science National Taiwan UniversityA Practical Guide to Support Vector Classification2Chih-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论