支持向量机的实用指导_第1页
支持向量机的实用指导_第2页
支持向量机的实用指导_第3页
支持向量机的实用指导_第4页
支持向量机的实用指导_第5页
全文预览已结束

下载本文档

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

文档简介

1、支持向暈机的实用指导1. 介绍svm是数据分类的一个有用的技术。虽然svm被认为比神经网络简单,不熟悉的用户一 开始很容易不习惯。在此我们给出梗概。注意本指导不是给svm研究者的,也不保证能达到髙的准确率。同时,我们也不打算解决 困难的问题。目的是为svm初学者提供一个指导,让你很快运用并得到一个可接受的结果。 虽然用户们不必知道svm背后的潜在理论,我们相信有必要简要介绍下基础知识。一个分 类器通常把数据分为训练集和测试集。每个训练集中的实例都有一个目标值(即class labels) 和若干属性(即特征和观察值)。svm的冃的是创建一个模型(基于训练集)來根据测试集 的属性预测测试集的目标

2、值。给定一个实例-标签对(xi,yi)的训练集,svm要得到下列优化问题的解答:1 t _ amin -w w + c &2 幺subject to s(wg(xt) + b) » 1 -table 1: problem characteristics and performance comparisons.applications#t raining data# testing datafeaturesclassesaccuracy bv usersaccuracy by our procedureastroparticle13,0894,0004275.2%96.9%bi

3、oinformatics2391o420336%85.2%vehicle31,243412124.88%87.8%这里训练集向量xi通过函数e被映射到一个更高的维度空间(也许是无限维)。svm找出 一个能最大程度分离这个空间的超平面。c>o是対错误的惩罚参数。此外k(xj.xj) =被称作核函数。虽然新的核函数正不断地被提出,初学者可能在svm的书中常常遇到下而 4个基本的核函数: 线性:= x/xj. 多项式:axxj) = (yx/xj + r)j, 7 >() 径向基核函数(rbf)"(xjx;) = exp(-7il|xi 一 xj|2), 7 > 0 s型

4、函数:a'(xj<xj) = tanh(xfxj + r).这里,y,r和d都是核参数。1真实世界的例子表一展现了真实世界的例子。这些数据集是那些在开始不能得到合理准确度的用户们提供 的。用本指导中的流程我们帮他们得到了更好的结果。细节在附录1中。这些数据集在_1.2建议流程许多新手使用如下流程: 把数据转换到svm包的数据形式 随机实一些核函数和参数 测试我们建议新手试试下面这个流程: 把数据转换到svm包的数据形式 对数据进行简单地缩放k(x.y) = e-7|x-y|2 考虑径向基函数° 用交叉验证找出最好的参数c和y 用最好的参数c和y训练整个训练集 测试在下血

5、几段我们来详细讨论流程的细节。2. 数据预处理2.1类别特征svm要求每个数据实例被表示成实数的向量。因此,如杲有类别属性,我们先必须把它们 转换成数字类型的数据。我们推荐用m个数字来表示有m个值得类别属性。只有一个数字 是1,其他都是0。举例來说,一个有3中取值的属性比如红,绿,蓝可以被表示成(0,0,1),(0,1,0)和(1,0,0)。我们的经验告诉我们如果一个属性的取值数目不是很大,这种编码方 式必用单个数字可能更稳定一些。2.2缩放在应用 svm 前先缩放十分重要。part 2 of sarle's neural networks faq sarle (1997)解释 了缩

6、放的重要性,其屮的大部分考量对svm也是有效的。缩放的主要目的在于避免属性屮有较 大取值范围的压过那些取值范围较小的属性。另一个作用是避免计算过程中的困难。因为核 值通常依赖于特征向量的内积,比如线性核函数和多项式核函数,大属性值可能导致数字上 的问题。我们推荐线性地把每个属性缩放到卜1, +或0,1之间。当然我们必须用同样的方法同吋缩放训练集和测试集。比如:我们把训练集中的第一个实例 从卜10,+ 10缩放到卜1,+ 1。如果测试集中的第一个实例的范围是卜11,+8,我们必须把测试集 缩放到1.1,+0.8。详见附录氏3模型选取虽然在section 1中只提到了 4中常用的核函数,我们必须决

7、定试哪个先。然后选定惩罚参数 c和核参数。3.1 rbf核(径向基函数)通常来说,rbf核函数是一个合理的第一选择。这个函数非线性地把样本映射到一个更高 维度的空间,不像线性函数,它可以处理标签值和属性值是非线性的情况。此外,线性核是 rbf的一个特例因为带惩罚参数c的线性核跟带参数(c, 丫)的rbf核函数有同样的效果。 还有,s型核函数跟特定参数的rbf核函数也有相同的表现。第二个理由是超参数的数目也影响了模型的选择。多项式核函数比rbf核函数有更多的超 参数。最后,rbf核两数在数学上因难少点。一个关键点在于当0<kij<=l时,在指数很大时多项 式核函数的核值可能趋于无穷大

8、(竽心八心+厂1)或者0 bx/ x,+厂v 1)。而且,我 们必须注意到s型函数在某些参数配置下不是有效的。rbf核函数在某些场景下不是合适的。比如当特征数目很大吋,只能用线性核函数。我们 会在附录c屮讨论。3.2交叉验证和网格搜索rbf有两个参数:c和丫。对于一个给定的问题,这两个参数事先是未知的;后果就是模 型选取必须被实施。目的就是找出好的c和y值来准确预测未知数据。注意它不能保证分 类器能对训练数据达成高准确率。如上讨论,一个常用的策略是把数据分成两个部分,其中 一部分被认作未知的。从“未知”数据集得到的预测准确度精准地反映了分类器在一个独立 数据集上的表现。一个改进的方法就是交叉验

9、证。交叉验证可以防止过度拟合(关于交叉验证部分的翻译略)我们推荐一个用交叉验证的“网格搜索”法来找到c和丫。大量c和y值对被尝试,有最 好的交叉验证结果的被选中。我们发现用一个指数增长的c和y序列来尝试是一个实用的 好办法。网格搜索是直接了当的但看起来很朴素。事实上,有好几个先进的方法对以减少计算量,比 如,近似交叉验证率。然而,我们偏向于网格搜索有两个动机。(c) training data and a better classifiero(b) applying an overfitting classifier on testing data(cl) applying a better

10、classifier on testing datafigure 1: an over fit ting classifier aii(l a better classifier ( and : t mining data: o and a: testing data).首先,心理上来说,我们可能觉得使用一个不能彻底搜索全部可能的方法是不安全的。另 一个理由是网格搜索相比于更先进的方法减少不了多少时间,因为参数只有2个。此外,网 格搜索因为(c,y)是独立的,所以可以很容易地进行并行计算。许多其他方法是一个迭代 的过程,比如沿着一条路走,很难被并行计算。figure 2: luge grid searcli un c =,2山 and 7 = 2一巴2竹呼.:i*r t t r 1 .in»r « 1 figure 3: fine gritkseareh 0x1 c = 21 t 2加2s and 7 = 2".旷“2p因为一次完全的网格搜索仍然很耗时,我们推荐先用粗糙网格。在识别出一个较好的网格 区后,i个更精细的网格搜索在该区域被实施。比如,我们可以在german from the statlog collection上做实验。在缩放数据集后,我们先

温馨提示

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

评论

0/150

提交评论