SVM模式识别与回归软件包(LibSVM)详解_第1页
SVM模式识别与回归软件包(LibSVM)详解_第2页
SVM模式识别与回归软件包(LibSVM)详解_第3页
SVM模式识别与回归软件包(LibSVM)详解_第4页
全文预览已结束

下载本文档

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

文档简介

1、SVM模式识别与回归软件包(LibSVM)详解SVM模式识别与回归软件包一一LibSVMSVM用于模式识别或回归时,SVM方法及其参数、核函数及其参数的选择,目前国际 上还没有形成一个统一的模式,也就是说最优SVM算法参数选择还只能是凭借经验、实验 对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优。目前,LIBSVM 拥有 Java、Matlab、C#、Ruby、Python、R、Perl、Common LISP、 LabView等数十种语言版本。最常使用的是Matlab、Java和命令行的版本。2:处理数据,把数据制作成LIBSVM的格式,其每行格式为:label indexlrv

2、alue 1 index2:value2 其中我用了复旦的分类语料库,当然我先做了分词,去停用词,归一化等处理了 3: 使用svm-train. exe训练,得到*. model文件。里面有支持向量,gamma值等信息4: 使用svm-predict. exe做测试这里有几个问题现在必须说明:1:有关数据格式,indexl: valuel index2:value2 .这里面的 indexl, index2 必 须是有序的。我测试了好多次才发现了这个问题,因为我原来做实验的数据室不必有序的。 2:有关python语言,python有些版本不同导致一些语法也是有差异的,建议使用低版本 的,如2.

3、 6,比如2. 6和3.*版本的有关print的规定是有差别的。这几个.exe文件里面很多参数可以调的,我暂时是想学习下所以都只用了默认值了。 现在做好标记,以后要真做实验用他可以随时用上!2.准备好数据,首先要把数据转换成Libsvm软件包要求的数据格式为:label indexl:valuel index2:value2 其中对于分类来说label为类标识,指定数据的种类;对于回归来说label为目标值。 (我主要要用到回归)Index是从1开始的自然数,value是每一维的特征值。该过程可以自已使用excel或者编写程序来完成,也可以使用网络上的F or ma t Da t aL i b

4、 s vm. xls 来完成。FormatDataLibsvm. xls 使用说明:先将数据按照下列格式存放(注意label放最后面):valuel value2 ? label valuel value2 ? label ?然后将以上数据粘贴到FormatDataLibsvm. xls中的最左上角单元格,接着工具->宏 执行行FormatDataToLibsvm宏。就可以得到libsvm要求的数据格式。将该数据存放到文 本文件中进行下一步的处理。3.对数据进行归一化。该过程要用到libsvm软件包中的svm-scale. exe Svm-scale用法:用法:svmscale T lo

5、wer -u upper E_y y_lower y_upper L-s save_filenamel -rrest or e_f i 1 ename 2 filename (缺省值:lower = upper = 1,没有对 y 进行 缩放)其中,-1:数据下限标记:lower:缩放后数据下限:-u:数据上限标记: upper:缩放后数据上限;-y:是否对目标值同时进行缩放:y_lower为下限值,y_upper 为上限值;(回归需要对目标进行缩放,因此该参数可以设定为。Cy -1 1 ) -s save_filename:表示将缩放的规则保存为文件 save_filename: _r re

6、store_filename: 表示将缩放规则文件restore_filename毂入后按此缩放;filename:待缩放的数据文件 (要求满足前面所述的格式)。缩放规则文件可以用文本浏览器打开,看到其格式为:ylower upper min max x lower upper indexl mini maxi index2 min2 max2?其中的lower与upper与使用时所设置的lower与upper含义相同:index表 示特征序号:min转换前该特征的最小值;max转换前该特征的最大值。数据集的缩放结 果在此情况下通过DOS窗口输出,当然也可以通过DOS的文件重定向符号“>

7、”将结果另 存为指定的文件。该文件中的参数可用于最后面对目标值的反归一化。反归一化的公式为: (Value_lower) * (max-min) /(upper - lower)+lower 其中 value 为归一化后的值,其 他参数与前面介绍的相同。建议将训练数据集与测试数据集放在同一个文本文件中一起归一化,然后再将归一化 结果分成训练集和测试集。4.训练数据,生成模型。用法: svmtrain Lopt ions training_set_f i le Lmodel_file其中,options (操作参数):可用的选项即表示的涵义如下所示-s svm类型:设 置SVM类型,默认值为0,

8、可选类型有(对于回归只能选3或4):0 C- SVC 1 n - SVC 2 one-class-SVM 3 e - SVR 4 n - SVR 核函数类型:设置核函数类型,默认值为2,可选类型有:0 线性核:u *v 1 -多 项式核:(g*u* *v+ coef 0)deg ree 2 RBF 核:e( u v 2) g _ 3 sigmoid 核: tanh(g*u, *v+ coef 0) d degree:核函数中的 degree 设置,默认值为 3;g g :设置核函数中的g ,默认值为1/ k ; r coef 0:设置核函数中的coef 0, 默认值为0: _c cost:设置

9、C- SVC、e - SVR、n - SVR中从惩罚系数C,默认值为1; _n n :设置 n - SVC、one-class-SVM 与 n - SVR 中参数 n > 默认值 0. 5; -p e :设 置n - SVR的损失函数中的e ,默认值为0.1; m cachesize:设置cache内存大小, 以MB为单位,默认值为40; -e e :设置终止准则中的可容忍偏差,默认值为0. 001: -h shrinking:是否使用启发式,可选值为0或1,默认值为1; -b概率估计:是否计 算SVC或SVR的概率估计,可选值0或1,默认0; -wi weight:对各类样本的惩罚系数

10、 C加权,默认值为1: -v n: n折交叉验证模式。其中飞选项中的k是指输入数据中的属性数。操作参数-v随机地将数据剖分为n 部分并计算交叉检验准确度和均方根误差。以上这些参数设置可以按照SVM的类型和核函 数所支持的参数进行任意组合,如果设置的参数在函数或SVM类型中没有也不会产生影响, 程序不会接受该参数:如果应有的参数设置不正确,参数将采用默认值。training_set_file是要进行训练的数据集;model_file是训练结束后产生的模型文件, 该参数如果不设置将采用默认的文件名,也可以设置成白己惯用的文件名。本实验中的参数-s取3, -t取2 (默认)还需确定的参数是-c, -

11、g, -p另,实验中所需调整的重要参数是-。和OCg, -c和飞的调整除了自己根据经验试 之外,还可以使用gridregression. py对这两个参数进行优化。(需要补充)该优化过程需要用到 Python (2. 5) Gnuplot (4.2) , gridregression, py (该文件 需要修改路径)。然后在命令行下面运行:python, exe gridregression, py Tog2c -10, 10, 1 Tog2g _10, 10, 1 Tog2P - 10,10,1 -s 3 0Ct 2 -v 5 -svmtrain E:libsvmlibsvm_2. 86wi

12、ndowssvm_ train, exe -gnuplotE:libsvmlibsvm_2. 86gnuplotbinpgnuplot. exe E:libsvmlibsvm- 2. 86windowstrain. txt > gridregression_feature. parameter以上三个路径根据实际安装情况进行修改。-log2c是给出参数c的范围和步长-log2g是给出参数g的范围和步长-log2p是给 出参数P的范围和步长上面三个参数可以用默认范围和步长-s选择SVM类型,也是只能 选3或者4 -t是选择核函数-v 10将训练数据分成10份做交叉验证。默认为5为了方 便将

13、gridregression, py是存放在python, exe安装目录下trian. txt 为训练数据,参数存放在 gridregression_feature. parameter 中,可以自 己命名°搜索结束后可以在gridregression_feature. parameter中最后一行看到最优参 数。其中,最后一行的第一个参数即为",第二个为-g,第三个为-p,最后一个参数为均 方误差。前三个参数可以直接用于模型的训练。然后,根据搜索得到的参数,重新训练,得到模型。5测试用法:svmpredict options test_file model_file output_file options (操作 参数):-b probability_es

温馨提示

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

评论

0/150

提交评论