预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

在用林智仁老师的LIBSVM-2.82做SVM回归的过程中,深深得益于网上共享的学习笔记以及一些热心网友的帮助(哪怕只是一句提醒),前面想着一定要写个学习笔记。自己会用了之后,突然发现原来值得讲出来的实在很少,甚至不想再写什么。想到自己花大概两个月才把一个程序跑明白,觉得还是因为其中有些让自己头疼的问题的,想必其他学习者未尝不需要多花功夫琢磨这些,未免浪费时间(技术问题嘛),还是写一个简单的学习笔记,把自己觉得最要弄明白的难点记下来吧。装microsoftVisualstudio6.0(是装python需要的,可能是需要c语言的环境吧)装gnuplot:gp400win32装python试运行程序中遇到的问题读PYTHON写的GRID.PY程序问题1:程序的路径指定问题在程序的相关语句中指出调用的程序的路径注意类似:D:\programmfiles\gnuplot.exe这样的路径会报错,因为程序在读语句时在programm后面断句,而不是把programmfiles整体当作一个路径问题2:命令行运行PYTHON以及输入参数E:\libsvm-2.82\tools>pythongridregcopy.py,首先进入到PYTHON程序的上一级路径然后用python接程序名称以及参数当时的问题是怎么也弄不明白PYTHON程序自带的几个操作窗口都不能进行程序的运行。呵呵,好像都只是脚本编辑器(反正我能用命令行运行就可以了——何况加一个"!"就可以在MATLAB中执行)。另外关于参数,读原程序怎么也不懂,看了魏忠的学习笔记才明白的:OS.ARGV可以在命令行输入,作为OS.ARGV列表的值。但是注意OS.ARGV[0]默认的就是所执行的程序本身,也就是除了输入的N个参数,OS.ARGV列表实际上有N+1个值,其中输入的第一个参数就是OS.ARGV[1],也就是它的第二个参数。问题3:参数选择程序跑不动提示:workerlocalquit晕了几天后面终于明白不是程序有问题,是因为数据量太大,程序直接溢出的缘故:注意有一个参数-M用来选择缓存的大小。subset这个程序仍然运行不了——不知道自己的数据和程序包里给出的例子有什么区别。不过我的s数据量小,这个不能用不碍事。注意:testingdata/trainingdata(不同文件)需要一起scale。也就是要把测试集和训练集在一个框架下进行归一化处理,很容易想见的道理(可是容易忽略)。n-foldcrossvalidationn就是要拆成几组,像n=3就会拆成三組,然后先拿1和2来trainmodel并predict3以得到正确率;再来拿2和3train并predict1,最后用1和3train并predict2。其它以此类推。一般数据选5-或10foldcrossvalidation就可以。不过n越大,数据浪费的就越少(用于训练集的信息就多),但是运算量增加,极端的就是n等于数据的个数(叫做LEAVE-ONEOUT)。回归的参数选择程序:paiup的笔记里面说GRID程序只能用于分类的参数选择,不过还好林智仁老师开发了专门用于回归的参数选择程序。GRID程序的原理很简单:就是把要选择的参数当作一个坐标格子上的点,选择的过程就是遍历空间(当然可以有一定的范围)中的各个方向的参数组合的空间点。如果是两个参数,就是在二维的平面中找到一个合适的点(这种离散的选择参数的方法,应该只是找到一个比较好的收敛的参数吧)。至于GRID选择参数,在我做的回归里头还是相当要紧的。选好了参数R2会是0.99,但是参数(C,g,p)参数稍微变动一下,可能使R2降低到0.2。而参数v,即用来做crossvalidation的数据组数对参数的选择影响并不太大——就是说v选为5和10并不会导致最后选到的参数大相径庭。 支持向量机工具libsvm简单介绍 关键词:HYPERLINK"http://tag.bokee.com/tag/%D6%A7%B3%D6%CF%F2%C1%BF%BB%FA"\t"_blank"支持向量机HYPERLINK"http://tag.bokee.com/tag/libsvm"\t"_blank"libsvmHYPERLINK"http://tag.bokee.com/tag/%C1%D6%D6%C7%C8%CA"\t"_blank"林智仁HYPERLINK"http://tag.bokee.com/tag/Matlab"\t"_blank"Matlab 1.LIBSVM软件包简介LIBSVM是台湾大学林智仁(Chih-JenLin)博士等开发设计的一个操作简单、易于使用、快速有效的通用SVM软件包,可以解决分类问题(包括C-SVC、n-SVC)、回归