用户登录  |  用户注册
加入收藏设为首页会员中心我要投稿爽死小游戏平坦软件商城论坛RSS
当前位置:首页 > 教程资料 > 程序开发 > Ruby
日期:2011-02-22 06:19:54  来源:网络收集

SVM工具箱的相关资料记载

QUOTE:bcX平坦软件园

1、工具箱:LS_SVMlab
Classification_LS_SVMlab.m - 多类分类
Regression_LS_SVMlab.m - 函数拟合
2、工具箱:OSU_SVM3.00
Classification_OSU_SVM.m - 多类分类
3、工具箱:stprtool/svm
Classification_stprtool.m - 多类分类
4、工具箱:SVM_SteveGunn
Classification_SVM_SteveGunn.m - 二类分类
Regression_SVM_SteveGunn.m - 函数拟合bcX平坦软件园

QUOTE:bcX平坦软件园

LIBSVM 是台湾大学林智仁(Chih-Jen Lin)博士等开发设计的一个操作简单、易于使用、快速有效的通用SVM 软件包,可以解决分类问题(包括C- SVC、n - SVC )、回归问题(包括e - SVR、n - SVR )以及分布估计(one-class-SVM )等问题,提供了线性、多项式、径向基和S形函数四种常用的核函数供选择,可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。LIBSVM 是一个开源的软件包,需要者都可以免费的从作者的个人主页http://www.csie.ntu.edu.tw/~cjlin/ 处获得。他不仅提供了LIBSVM的C++语言的算法源代码,还提供了Python、Java、R、MATLAB、Perl、Ruby、LabVIEW以及C#.net 等各种语言的接口,可以方便的在Windows 或UNIX 平台下使用,也便于科研工作者根据自己的需要进行改进(譬如设计使用符合自己特定问题需要的核函数等)。另外还提供了WINDOWS 平台下的可视化操作工具SVM-toy,并且在进行模型参数选择时可以绘制出交叉验证精度的等高线图。

更加详细的介绍你可以查看http://www.blog.sh/user3/warisa/archives/2006/75791.html
或者查看该工具包作者的个人主页http://www.csie.ntu.edu.tw/~cjlin/ bcX平坦软件园

MySVM 程序作者:stefan ruping
程序介绍: 本程序实现支持向量机。支持向量机是一种基于统计学习理论的机器学习算法,是被认为比人工神经网络更好的可以针对小样本进行学习预测的有效算法。目前,该支持向量机程序可以用来进行模式识别和序列预测。
备注:无需编译,可以自动运行,打包的程序中有C++的源代码。bcX平坦软件园

详细资料请查看http://www.dmresearch.net/html/c ... ithm/1000000928.php bcX平坦软件园

matlab的SVM工具箱详细资料查看http://asi.insa-rouen.fr/~arakotom/toolbox/index.htmlbcX平坦软件园

转自:http://hi.baidu.com/%CB%AE%BE%A7%D2%BB%D1%A9/blog/item/e936090a0c9e2f32b0351d6e.htmlbcX平坦软件园

转自:http://i.eol.cn/blog_read.php?topicid=64388bcX平坦软件园

SVM工具箱及其相关介绍bcX平坦软件园

在Dinga's Blog 上发现这篇关于SVM工具箱的介绍的文章,转载一下,共同学习之!bcX平坦软件园

1、工具箱:LS_SVMlabbcX平坦软件园
Classification_LS_SVMlab.m - 多类分类bcX平坦软件园
Regression_LS_SVMlab.m - 函数拟合#此前在首页部分显示#bcX平坦软件园

2、工具箱:OSU_SVM3.00bcX平坦软件园
Classification_OSU_SVM.m - 多类分类bcX平坦软件园

3、工具箱:stprtoolsvmbcX平坦软件园
Classification_stprtool.m - 多类分类bcX平坦软件园

4、工具箱:SVM_SteveGunnbcX平坦软件园
Classification_SVM_SteveGunn.m - 二类分类bcX平坦软件园
Regression_SVM_SteveGunn.m - 函数拟合bcX平坦软件园

可以参考:http://luzhenbo.88uu.com.cn/bcX平坦软件园
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++bcX平坦软件园

更加详细的介绍你可以查看http://www.blog.sh/user3/warisa/archives/2006/75791.htmlbcX平坦软件园
或者查看该工具包作者的个人主页http://www.csie.ntu.edu.tw/~cjlin/bcX平坦软件园

附录1:LIBSVM的简单介绍bcX平坦软件园

1. LIBSVM 软件包简介bcX平坦软件园

LIBSVM 是台湾大学林智仁(Chih-Jen Lin)博士等开发设计的一个操作简单、bcX平坦软件园

易于使用、快速有效的通用SVM 软件包,可以解决分类问题(包括C- SVC、bcX平坦软件园

n - SVC )、回归问题(包括e - SVR、n - SVR )以及分布估计(one-class-SVM )bcX平坦软件园

等问题,提供了线性、多项式、径向基和S形函数四种常用的核函数供选择,可bcX平坦软件园

以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概bcX平坦软件园

率估计等。LIBSVM 是一个开源的软件包,需要者都可以免费的从作者的个人主页http://www.csie.ntu.edu.tw/~cjlin/ 处获得。他不仅提供了LIBSVM的C++语言的算法源代码,还提供了Python、Java、R、MATLAB、Perl、Ruby、LabVIEWbcX平坦软件园

以及C#.net 等各种语言的接口,可以方便的在Windows 或UNIX 平台下使用,bcX平坦软件园

也便于科研工作者根据自己的需要进行改进(譬如设计使用符合自己特定问题需bcX平坦软件园

要的核函数等)。另外还提供了WINDOWS 平台下的可视化操作工具SVM-toy,bcX平坦软件园

并且在进行模型参数选择时可以绘制出交叉验证精度的等高线图。bcX平坦软件园

2. LIBSVM 使用方法简介bcX平坦软件园

LIBSVM 在给出源代码的同时还提供了Windows操作系统下的可执行文件,包括:进行支持向量机训练的svmtrain.exe;根据已获得的支持向量机模型对数据集进行预测的svmpredict.exe;以及对训练数据与测试数据进行简单缩操作的svmscale.exe。它们都可以直接在DOS 环境中使用。如果下载的包中只有C++bcX平坦软件园
的源代码,则也可以自己在VC等软件上编译生成可执行文件。bcX平坦软件园

LIBSVM 使用的一般步骤是:bcX平坦软件园

1) 按照LIBSVM软件包所要求的格式准备数据集;bcX平坦软件园

2) 对数据进行简单的缩放操作;bcX平坦软件园

3) 考虑选用RBF 核函数2 K(x,y) e x y = -g - ;bcX平坦软件园

4) 采用交叉验证选择最佳参数C与g ;bcX平坦软件园

5) 采用最佳参数C与g 对整个训练集进行训练获取支持向量机模型;bcX平坦软件园

6) 利用获取的模型进行测试与预测。bcX平坦软件园

一. LIBSVM 使用的数据格式bcX平坦软件园

LIBSVM使用的训练数据和测试数据文件格式如下:bcX平坦软件园

: :< 2> …bcX平坦软件园

其中 是训练数据集的目标值,对于分类,它是标识某类的整数(支持bcX平坦软件园

多个类);对于回归,是任意实数。bcX平坦软件园

是以1 开始的整数,表示特征的序号;bcX平坦软件园

为实数,也就是我们常说的特征值或自变量。当特征值为0 时,特征序号与特征值都可以同时省略,即index可以是不连续的自然数。bcX平坦软件园

与第一个特征序号、前一个特征值与后一个特征序号之间用空格隔开。测试数据文件中的label 只用于计算准确度或误差,如果它是未知的,只需用任意一个数填写这一栏,也可以空着不填。例如:bcX平坦软件园

+1 1:0.708 2:1 3:1 4:-0.320 5:-0.105 6:-1 8:1.21bcX平坦软件园

二. svmscale 的用法bcX平坦软件园

对数据集进行缩放的目的在于:bcX平坦软件园

1)避免一些特征值范围过大而另一些特征值范围过小;bcX平坦软件园

2)避免在训练时为了计算核函数而计算内积的时候引起数值计算的困难。因此,通常将数据缩放到[ -1,1]或者是[0,1]之间。bcX平坦软件园

用法:svmscale [-l lower] [-u upper] [-y y_lower y_upper]bcX平坦软件园

[-s save_filename] [-r restore_filename] filenamebcX平坦软件园

(缺省值: lower = -1,upper = 1,没有对y进行缩放)bcX平坦软件园

其中,bcX平坦软件园

-l:数据下限标记;lower:缩放后数据下限;bcX平坦软件园

-u:数据上限标记;upper:缩放后数据上限;bcX平坦软件园

-y:是否对目标值同时进行缩放;y_lower为下限值,y_upper为上限值;bcX平坦软件园

-s save_filename:表示将缩放的规则保存为文件save_filename;bcX平坦软件园

-r restore_filename:表示将缩放规则文件restore_filename载入后按此缩放;bcX平坦软件园

filename:待缩放的数据文件(要求满足前面所述的格式)。bcX平坦软件园

缩放规则文件可以用文本浏览器打开,看到其格式为:bcX平坦软件园

lower upperbcX平坦软件园

lval1 uval1bcX平坦软件园

lval2 uval2bcX平坦软件园

其中的lower 与upper 与使用时所设置的lower 与upper 含义相同;index 表bcX平坦软件园

示特征序号;lval 为该特征对应转换后下限lower 的特征值;uval 为对应于转换后上限upper 的特征值。bcX平坦软件园

数据集的缩放结果在此情况下通过DOS窗口输出,当然也可以通过DOS的bcX平坦软件园

文件重定向符号“>”将结果另存为指定的文件。bcX平坦软件园

使用实例:bcX平坦软件园

1) svmscale –s train3.range train3>train3.scalebcX平坦软件园

表示采用缺省值(即对属性值缩放到[ -1,1]的范围,对目标值不进行缩放)bcX平坦软件园

对数据集train3 进行缩放操作,其结果缩放规则文件保存为train3.range,缩放集的缩放结果保存为train3.scale。bcX平坦软件园

2) svmscale –r train3.range test3>test3.scalebcX平坦软件园

表示载入缩放规则train3.range 后按照其上下限对应的特征值和上下限值线bcX平坦软件园

性的地对数据集test3 进行缩放,结果保存为test3.scale。bcX平坦软件园

三. svmtrain 的用法bcX平坦软件园

svmtrain实现对训练数据集的训练,获得SVM模型。bcX平坦软件园

用法: svmtrain [options] training_set_file [model_file]bcX平坦软件园

其中,bcX平坦软件园

options(操作参数):可用的选项即表示的涵义如下所示bcX平坦软件园

-s svm类型:设置SVM 类型,默认值为0,可选类型有:bcX平坦软件园

0 -- C- SVCbcX平坦软件园

1 -- n - SVCbcX平坦软件园

2 -- one-class-SVMbcX平坦软件园

3 -- e - SVRbcX平坦软件园

4 -- n - SVRbcX平坦软件园

-t 核函数类型:设置核函数类型,默认值为2,可选类型有:bcX平坦软件园

0 -- 线性核:u'*vbcX平坦软件园

1 -- 多项式核: (g*u'*v+ coef 0)deg reebcX平坦软件园

2 -- RBF 核:e( u v 2) g -bcX平坦软件园

3 -- sigmoid 核:tanh(g*u'*v+ coef 0)bcX平坦软件园

-d degree:核函数中的degree设置,默认值为3; -g g :设置核函数中的g ,默认值为1/ k ;bcX平坦软件园

-r coef 0:设置核函数中的coef 0,默认值为0;bcX平坦软件园

-c cost:设置C- SVC、e - SVR、n - SVR中从惩罚系数C,默认值为1;bcX平坦软件园

-n n :设置n - SVC、one-class-SVM 与n - SVR 中参数n ,默认值0.5;bcX平坦软件园

-p e :设置n - SVR的损失函数中的e ,默认值为0.1;bcX平坦软件园

-m cachesize:设置cache内存大小,以MB为单位,默认值为40;bcX平坦软件园

-e e :设置终止准则中的可容忍偏差,默认值为0.001;bcX平坦软件园

-h shrinking:是否使用启发式,可选值为0 或1,默认值为1;bcX平坦软件园

-b 概率估计:是否计算SVC或SVR的概率估计,可选值0 或1,默认0;bcX平坦软件园

-wi weight:对各类样本的惩罚系数C加权,默认值为1;bcX平坦软件园

-v n:n折交叉验证模式。bcX平坦软件园

其中-g选项中的k是指输入数据中的属性数。操作参数 -v 随机地将数据剖分为n 部分并计算交叉检验准确度和均方根误差。以上这些参数设置可以按照SVM 的类型和核函数所支持的参数进行任意组合,如果设置的参数在函数或SVM 类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置不正确,参数将采用默认值。training_set_file是要进行训练的数据集;model_file是训练结束后产生的模型文件,该参数如果不设置将采用默认的文件名,也可以设置成自己惯用的文件名。bcX平坦软件园

使用实例:bcX平坦软件园

1)svmtrain train3.scale train3.modelbcX平坦软件园

训练train3.scale,将模型保存于文件train3.model,并在dos窗口中输出如下bcX平坦软件园

结果:bcX平坦软件园

optimization finished, #iter = 1756bcX平坦软件园

nu = 0.464223bcX平坦软件园

obj = -551.002342, rho = -0.337784bcX平坦软件园

nSV = 604, nBSV = 557bcX平坦软件园

Total nSV = 604bcX平坦软件园

其中,#iter为迭代次数,nu 与前面的操作参数-n n 相同,obj为SVM文件bcX平坦软件园

转换为的二次规划求解得到的最小值,rho 为判决函数的常数项b,nSV 为支持bcX平坦软件园

向量个数,nBSV为边界上的支持向量个数,Total nSV为支持向量总个数。bcX平坦软件园

训练后的模型保存为文件train3.model,用记事本等文本浏览器打开可以看到其内容如下(其后“%”后内容为笔者所加注释):bcX平坦软件园

svm_type c_svc % 训练所采用的svm类型,此处为C- SVCbcX平坦软件园

kernel_type rbf % 训练采用的核函数类型,此处为RBF核bcX平坦软件园

gamma 0.047619 % 与操作参数设置中的g 含义相同bcX平坦软件园

nr_class 2 % 分类时的类别数,此处为两分类问题bcX平坦软件园

total_sv 604 % 总共的支持向量个数bcX平坦软件园

rho -0.337784 % 决策函数中的常数项bbcX平坦软件园

label 0 1 % 类别标签bcX平坦软件园

nr_sv 314 290 % 各类别标签对应的支持向量个数bcX平坦软件园

SV % 以下为支持向量bcX平坦软件园

1 1:-0.963808 2:0.906788 ... 19:-0.197706 20:-0.928853 21:-1bcX平坦软件园

1 1:-0.885128 2:0.768219 ... 19:-0.452573 20:-0.980591 21:-1bcX平坦软件园

... ... ...bcX平坦软件园

1 1:-0.847359 2:0.485921 ... 19:-0.541457 20:-0.989077 21:-1bcX平坦软件园

% 对于分类问题,上面的支持向量的各列含义与训练数据集相同;对于回归问题,略有不同,与训练数据中的标签label(即y值)所对应的位置在模型文件的支持向量中现在存放的是Lagrange 系数a 值,即为下面决策函数公式中的a 值:bcX平坦软件园

* *bcX平坦软件园

1bcX平坦软件园

() ( )( ( ) ( )) ( ) ( , )bcX平坦软件园

( , )bcX平坦软件园

kbcX平坦软件园

i i i i i ibcX平坦软件园

i i svbcX平坦软件园

i ibcX平坦软件园

i svbcX平坦软件园

fx a a x x b a a k x x bbcX平坦软件园

ak x x bbcX平坦软件园

=   = - F F + = - +bcX平坦软件园

= + gbcX平坦软件园

四. svmpredict 的用法bcX平坦软件园

svmpredict 是根据训练获得的模型,对数据集合进行预测。bcX平坦软件园

用法:svmpredict [options] test_file model_file output_filebcX平坦软件园

options(操作参数):bcX平坦软件园

-b probability_estimates:是否需要进行概率估计预测,可选值为0 或者1,bcX平坦软件园

默认值为0。bcX平坦软件园

model_file 是由svmtrain 产生的模型文件;test_file 是要进行预测的数据文bcX平坦软件园

件;output_file 是svmpredict 的输出文件,表示预测的结果值。svmpredict 没有bcX平坦软件园

其它的选项。bcX平坦软件园

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++bcX平坦软件园

MySVM 程序作者:stefan ruping bcX平坦软件园
程序介绍: 本程序实现支持向量机。支持向量机是一种基于统计学习理论的机器学习算法,是被认为比人工神经网络更好的可以针对小样本进行学习预测的有效算法。目前,该支持向量机程序可以用来进行模式识别和序列预测。 bcX平坦软件园
备注:无需编译,可以自动运行,打包的程序中有C++的源代码。bcX平坦软件园
详细资料请查看http://www.dmresearch.net/html/c ... ithm/1000000928.phpbcX平坦软件园

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++bcX平坦软件园
SVMlightbcX平坦软件园
作者:Thorsten Joachims <thorsten@joachims.org>bcX平坦软件园

详细的介绍查看http://www.360doc.com/showWeb/0/0/117221.aspxbcX平坦软件园

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++bcX平坦软件园
matlab的SVM工具箱详细资料查看http://asi.insa-rouen.fr/~arakotom/toolbox/index.htmlbcX平坦软件园

+++++++本文转载于 Dinga's Blog http://www.dinga.cnbcX平坦软件园

 bcX平坦软件园

[]

收藏: 我要收藏

作者:yihaizhiyan
阅读统计:[] [返回页首] [打 印]

文章评论共有条评论 评论内容只代表网友观点,与本站立场无关!

评论人 评论内容

评论时间

用户名: 密码:
验证码: 匿名发表
Copyright © 2009-2010 FLATWS.CN. All Rights Reserved .