libsvm中SVMcgForClassword目录怎么自动生成成的图是什么意思

查看: 1488|回复: 2|关注: 0
libsvm中SVMcgForClass自动生成的图是什么意思?
请问这个图怎么看?是libsvm中SVMcgForClass自动生成的图,求解啊!!
x轴表示c取以2为底的对数后的值,y轴表示g取以2为底的对数后的值,等高线表示:c、g对应的准确率。 ...
x轴表示c取以2为底的对数后的值,y轴表示g取以2为底的对数后的值,等高线表示:c、g对应的准确率。
您需要登录后才可以回帖
站长推荐 /1
Powered by查看: 2522|回复: 3|关注: 0
faruto版LibSVM的SVMcgForClass未定义??
装了libsvm-mat-2.89-3[FarutoUltimate3.0pcode].rar
想用SVMcgForClass函数做SVM参数优化,但是很奇怪 svmtrain和svmpredict函数都可以正常工作,就只有SVMcgForClass函数错误
matlab显示:
Undefined function or method ‘SVMcgForClass’ for input argument of type ‘double’
gaSVMcgForClass函数也是同样的情况
本人初学SVM,接触matlab的时间也不长,所以不知道这个现象到底是怎么回事?
重新下一个你那个里面SVMcgforClass.M没文件吧。这是地址;highlight=libsvm
关注者: 6
回复 1# alice032 的帖子
这几个函数是别人自己写的,要添加进去才行的。
你搜索一下,应该有,不行的话,留言我给你传。
关注者: 2
这几个函数是别人自己写的,要添加进去才行的。
你搜索一下,应该有,不行的话,留言我给你传。 ...
能给我发一份SVMcgForClass这几个函数的.m程序吗,我在林个人网站上下载到的libsvm里面也没有这些,,谢谢了
站长推荐 /1
Powered bylibsvm 支持向量机的原始安装程序,能确保 正常运行 AI-NN-PR 人工智能/神经网络 238万源代码下载-
&文件名称: libsvm
& & & & &&]
&&所属分类:
&&开发工具: matlab
&&文件大小: 369 KB
&&上传时间:
&&下载次数: 2
&&提 供 者:
&详细说明:支持向量机的原始安装程序,能确保支持向量机正常运行-SVM original installer, to ensure normal operation of support vector machines
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&libsvm\COPYRIGHT&&......\heart_scale.mat&&......\libsvm 参数说明.txt&&......\libsvmread.c&&......\libsvmread.mexw32&&......\libsvmwrite.c&&......\libsvmwrite.mexw32&&......\make.m&&......\Makefile&&......\README&&......\readme[by faruto].txt&&......\svm.cpp&&......\svm.h&&......\svm.obj&&......\svmpredict.c&&......\svmpredict.mexw32&&......\svmtrain.c&&......\svmtrain.mexw32&&......\svm_model_matlab.c&&......\svm_model_matlab.h&&......\svm_model_matlab.obj&&......\test_data\wine_test.mat&&......\.........\x123.mat&&......\implement[by faruto]\a_template_flow_usingSVM_class.m&&......\....................\a_template_flow_usingSVM_regress.m&&......\....................\fasticaForSVM.m&&......\....................\gaSVMcgForClass.m&&......\....................\gaSVMcgForRegress.m&&......\....................\gaSVMcgpForRegress.m&&......\....................\pcaForSVM.m&&......\....................\psoSVMcgForClass.m&&......\....................\psoSVMcgForRegress.m&&......\....................\readme[by faruto].txt&&......\....................\scaleForSVM.m&&......\....................\SVC.m&&......\....................\SVC_test.m&&......\....................\SVMcgForClass.m&&......\....................\SVMcgForRegress.m&&......\....................\svmplot.m&&......\....................\SVR.m&&......\....................\SVR_test.m&&......\....................\test_for_ica_SVM.m&&......\....................\TutorialForFarutoUltimate3.0.pdf&&......\....................\TutorialTest.m&&......\....................\VF.m&&......\....................\myprivate\mapminmax.m&&......\....................\.........\plotroc.m&&......\....................\.........\roc.m&&......\....................\.........\gatbx[Sheffield]\bs2rv.m&&......\....................\.........\................\contents.m&&......\....................\.........\................\crtbase.m&&......\....................\.........\................\crtbp.m&&......\....................\.........\................\crtrp.m&&......\....................\.........\................\migrate.m&&......\....................\.........\................\mpga.m&&......\....................\.........\................\mut.m&&......\....................\.........\................\mutate.m&&......\....................\.........\................\mutbga.m&&......\....................\.........\................\ranking.m&&......\....................\.........\................\recdis.m&&......\....................\.........\................\recint.m&&......\....................\.........\................\reclin.m&&......\....................\.........\................\recmut.m&&......\....................\.........\................\recombin.m&&......\....................\.........\................\reins.m&&......\....................\.........\................\rep.m&&......\....................\.........\................\resplot.m&&......\....................\.........\................\rws.m&&......\....................\.........\................\scaling.m&&......\....................\.........\................\select.m&&......\....................\.........\................\sus.m&&......\....................\.........\................\xovdp.m&&......\....................\.........\................\xovdprs.m&&......\....................\.........\................\xovmp.m&&......\....................\.........\................\xovsh.m&&......\....................\.........\................\xovshrs.m&&......\....................\.........\................\xovsp.m&&......\....................\.........\................\xovsprs.m&&......\....................\.........\gatbx[Sheffield]&&......\....................\pcode&&......\....................\myprivate&&......\test_data&&......\implement[by faruto]&&libsvm
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 采用改进的蚁群智能算法,得到车辆最短路径问题快速有效的局部最优解。
&[] - BP神经网络,经过遗传算法进行优化,效果比较好libsvm-mat-2.91-1 Matlab下支持向量机(SVM)的 源码,本人主要用这个工具包做预测工作。
238万源代码下载-
&文件名称: libsvm-mat-2.91-1
& & & & &&]
&&所属分类:
&&开发工具: matlab
&&文件大小: 137 KB
&&上传时间:
&&下载次数: 19
&&提 供 者:
&详细说明:Matlab下支持向量机(SVM)的支持源码,本人主要用这个工具包做预测工作。-Matlab support vector machine (SVM) support source code, I mainly use this kit to do the forecasting work.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&libsvm-mat-2.91-1&&.................\COPYRIGHT&&.................\Copy_of_psoSVMcgForClass.m&&.................\ICA.m&&.................\Makefile&&.................\README&&.................\SVMcgForClass.m&&.................\SVMcgForRegress.m&&.................\Untitled.asv&&.................\fenlei.asv&&.................\fenlei.m&&.................\fenlei1.asv&&.................\fenlei1.m&&.................\gaSVMcgForRegress.m&&.................\gupiao.m&&.................\heart_scale.mat&&.................\libsvmread.c&&.................\libsvmread.mexw32&&.................\libsvmwrite.c&&.................\libsvmwrite.mexw32&&.................\lizi.txt&&.................\make.m&&.................\psoSVMcgForClass.m&&.................\psoSVMcgForRegress.m&&.................\scaleForSVM.m&&.................\svm.asv&&.................\svm.cpp&&.................\svm.h&&.................\svm.obj&&.................\svm_model_matlab.c&&.................\svm_model_matlab.h&&.................\svm_model_matlab.obj&&.................\svmpredict.c&&.................\svmpredict.mexw32&&.................\svmtrain.c&&.................\svmtrain.mexw32
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 台湾大学林智仁开发的libsvm的matlab最新版,可以实现分类、回归、预测的功能
&[] - 支持向量机来分析数据,并通过建立向量机来预测数据的趋势
&[] - 本程序是一个用SVM实现先拟合,再预测的例子。主要目的是学习SVM的预测程序。
&[] - android图片处理,在android平台上用eclipse编辑本地图片,包括放大缩小等
&[] - flash制作例子(网络广告设计)源文件上传
&[] - 支持向量机的MATLAB训练测试源代码,绝对好用.
&[] - matlab支持向量机预测,有原始数据,有案例分析,有详细源代码(作者附录的源程序,经过本人亲自调试成功)运行之前请先安装libsvm工具箱!(案例为预测短期电力功率预测)
&[] - SVM神经网络的数据分类预测-葡萄酒种类识别
基于matlab的.m文件。
&[] - SVM 回归,给出一个简单的函数,利用svm对其进行拟合及回归预测。
&[] - 基于神经网络的遥感图像分类取得了较好的效果,但存在固有的过学习、易陷入局部极小等缺点.支持向量机机器学习方法,根据结构风险最小化(SRM)原理,表现出很多优于其他传统方法的性能,本研究的基于多类支持向量机分类器的遥感图像分类取得了达95.4 的分类精度.但由于遥感图像分类类别多,所需训练样本较大,人SVM参数设置
LIBSVM使用方法及参数设置
主要参考了一些博客以及自己使用经验。收集来觉得比较有用的。
数据格式需要----------------------
&&&&&&&&&决策属性&&条件属性a&&条件属性b&
1:7&&&2:5&&&
1:4&&&2:2&&&
数据格式转换----------------------
当数据较少时,可以用formatdatalibsvm轻松地将文本数据转换成为svm工具使用的数据。
使用方法为:
1,打开FormatDataLibsvm.xls然后将数据粘贴到sheet1的topleft单元。
&&&&输入格式为:
&&&&&&&&&条件属性a&&条件属性b&
...&&决策属性
输出数据格式是
&&&&&&&&&决策属性&&条件属性a&&条件属性b&
1:7&&&2:5&&&
1:4&&&2:2&&&
2,再"工具"--&"宏"--&执行下面有一个选项(FormatDatatoLibsvm)--&执行,要选中这个然后运行就可以了&,这时数据转换的问题就解决了(如果没有宏选项,点击“开始--excel选项---在功能区显示“开发工具”选项卡”)
3,可以copy到一个记事本中即可。但是注意在用libsvm的时候要在命令行输入.txt后缀。
svm参数说明----------------------
如果你要输出类的概率,一定要有-b参数
svm-train training_set_file model_file
svm-predict test_file model_fileoutput_file
自动脚本:python easy.py train_data
自动选择最优参数,自动进行归一化。
对训练集合和测试结合,使用同一个归一化参数。
-v:交叉验证数
-s svm_type : set type of SVM (default 0)
-- one-class SVM
-- epsilon-SVR
-t kernel_type : set type of kernelfunction (default 2)
-- linear: u'*v
-- polynomial: (gamma*u'*v + coef0)^degree
-- radial basis function: exp(-gamma*|u-v|^2)
-- sigmoid: tanh(gamma*u'*v + coef0)
-d degree : set degree in kernel function(default 3)
-g gamma : set gamma in kernel function(default 1/num_features)
-r coef0 : set coef0 in kernel function(default 0)
-c cost : set the parameter C of C-SVC,epsilon-SVR, and nu-SVR
(default 1)
-n nu : set the parameter nu of nu-SVC,one-class SVM, and nu-SVR
(default 0.5)
-p epsilon : set the epsilon in lossfunction of epsilon-SVR
(default 0.1)
-m cachesize : set cache memory size in MB(default 100)
-e epsilon : set tolerance of terminationcriterion (default
-h shrinking: whether to use the shrinkingheuristics, 0 or 1
(default 1)
-b probability_estimates: whether to traina SVC or SVR model for
probability estimates, 0 or 1 (default 0)(如果需要估计分到每个类的概率,则需要设置这个)
-wi weight: set the parameter C of class ito weight*C, for C-SVC
(default 1)
&Thek in the -g option means the number of
attributes in the input data.
libsvm使用误区----------------------
(1)&&&&&&直接将训练集合和测试集合简单归一化到[0,1]区间,可能导致实验结果很差。
(2)&&&&&&如果样本的特征数非常多,那么就不必使用RBF核将样本映射到高维空间。
a)&&&&&&&&在特征数非常多的情况下,使用线性核,结果已经非常好,并且只需要选择参数C即可。
b)&&&&&&&&虽然说RBF核的结果至少比线性核好,前提下搜索整个的空间。
(3)&&&&&&样本数&&特征数的情况:
a)&&&&&&&&推荐使用线性核,可以达到与RBF同样的性能。
(4)&&&&&&样本数和特征数都非常多:推荐使用liblinear,更少的时间和内存,可比的准确率。
(5)&&&&&&样本数&&特征数:如果想使用线性模型,可以使用liblinear,并且使用-s
libsvm在训练model的时候,有如下参数要设置,当然有默认的参数,但是在具体应用方面效果会大大折扣。&
Options:可用的选项即表示的涵义如下
-s svm类型:SVM设置类型(默认0)
0 -- C-SVC
2&&一类SVM
3 -- e -SVR
4 -- v-SVR&
-t&核函数类型:核函数设置类型(默认2)
0&&线性:u'v
1&&多项式:(r*u'v + coef0)^degree
2&&&RBF函数:exp(-gamma|u-v|^2)
3&&sigmoid:tanh(r*u'v + coef0)
-d degree:核函数中的degree设置(针对多项式核函数)(默认3)
-g r(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认1/ k)
-r coef0:核函数中的coef0设置(针对多项式/sigmoid核函数)((默认0)
-c cost:设置C-SVC,e -SVR和v-SVR的参数(损失函数)(默认1)
-n nu:设置v-SVC,一类SVM和v- SVR的参数(默认0.5)
-p p:设置e -SVR&中损失函数p的值(默认0.1)
-m cachesize:设置cache内存大小,以MB为单位(默认40)
-e eps:设置允许的终止判据(默认0.001)
-h shrinking:是否使用启发式,0或1(默认1)
-wi weight:设置第几类的参数C为weight*C(C-SVC中的C)(默认1)
-v n: n-fold交互检验模式,n为fold的个数,必须大于等于2
  其中-g选项中的k是指输入数据中的属性数。option -v&随机地将数据剖分为n部
当构建完成model后,还要为上述参数选择合适的值,方法主要有Gridsearch,其他的感觉不常用,Gridsearch说白了就是穷举。
网格参数寻优函数(分类问题):SVMcgForClass
[bestCVaccuracy,bestc,bestg]=
SVMcgForClass(train_label,train,
cmin,cmax,gmin,gmax,v,cstep,gstep,accstep)
train_label:训练集的标签,格式要求与svmtrain相同。
train:训练集,格式要求与svmtrain相同。
cmin,cmax:惩罚参数c的变化范围,即在[2^cmin,2^cmax]范围内寻找最佳的参数c,默认值为cmin=-8,cmax=8,即默认惩罚参数c的范围是[2^(-8),2^8]。
gmin,gmax:RBF核参数g的变化范围,即在[2^gmin,2^gmax]范围内寻找最佳的RBF核参数g,默认值为gmin=-8,gmax=8,即默认RBF核参数g的范围是[2^(-8),2^8]。
v:进行Cross
Validation过程中的参数,即对训练集进行v-fold
Cross Validation,默认为3,即默认进行3折CV过程。
cstep,gstep:进行参数寻优是c和g的步进大小,即c的取值为2^cmin,2^(cmin+cstep),…,2^cmax,,g的取值为2^gmin,2^(gmin+gstep),…,2^gmax,默认取值为cstep=1,gstep=1。
accstep:最后参数选择结果图中准确率离散化显示的步进间隔大小([0,100]之间的一个数),默认为4.5。
bestCVaccuracy:最终CV意义下的最佳分类准确率。
bestc:最佳的参数c。
bestg:最佳的参数g。
网格参数寻优函数(回归问题):SVMcgForRegress
[bestCVmse,bestc,bestg]=
SVMcgForRegress(train_label,train,
cmin,cmax,gmin,gmax,v,cstep,gstep,msestep)
其输入输出与SVMcgForClass类似,这里不再赘述。
而当你训练完了model,在用它做classification或regression之前,应该知道model中的内容,以及其含义。
用来训练的是libsvm自带的heart数据
&&&Parameters:
[5x1 double]
&&&&&nr_class:
&&&&&&totalSV:
259&&&&&&&&&&&&&&&&&&
%&支持向量的数目
&&&&&&&&&&rho:
0.0514&&&&&&&&&&&&&&
&&&&&&&&Label:
double]&&&&
%& classification中标签的个数
&&&&&&&&ProbA:
&&&&&&&&ProbB:
&&&&&&&&&&nSV:
double]&&&&
%&&每类支持向量的个数
&&&&&&&sv_coef:
[259x1 double]&
%&&&支持向量对应的Wi
&&&&&&&&&&SVs:
[259x13 double]&
%&&&装的是259个支持向量
model.Parameters参数意义从上到下依次为:
-s svm类型:SVM设置类型(默认0)
-t&核函数类型:核函数设置类型(默认2)
-d degree:核函数中的degree设置(针对多项式核函数)(默认3)
-g r(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数) (默认类别数目的倒数)
-r coef0:核函数中的coef0设置(针对多项式/sigmoid核函数)((默认0)
SVM&怎样能得到好的结果
1.&&&对数据做归一化(simple
2.&&&应用&RBF
3.&&&用cross-validation和grid-search&得到最优的c和g
4.&&&用得到的最优c和g训练训练数据
关于svm的C以及核函数参数设置----------------------
参考自:对支持向量机几种常用核函数和参数选择的比较研究
C一般可以选择为:10^t , t=-
4..4就是0.0001&到10000
&选择的越大,表示对错误例惩罚程度越大,可能会导致模型过拟合
在LIBSVM中-t用来指定核函数类型(默认值是2)。
0)线性核函数
(无其他参数)
1)多项式核函数
(重点是阶数的选择,即d,一般选择1-11:1 3 5 7 9 11,也可以选择2,4,6…)
2)RBF核函数
(径向基RBF内核,exp{-|xi-xj|^2/均方差},其中均方差反映了数据波动的大小。
参数通常可选择下面几个数的倒数:0.1 0.2 0.4
0.6 0.8 1.6 3.2 6.4 12.8,默认的是类别数的倒数,即1/k,2分类的话就是0.5)
3)sigmoid核函数&又叫做S形内核
两个参数g以及r:g一般可选1 2
3 4,r选0.2 0.4 0.60.8 1
4)自定义核函数
常用的四种核函数对应的公式如下:
与核函数相对应的libsvm参数:
1)对于线性核函数,没有专门需要设置的参数
2)对于多项式核函数,有三个参数。-d用来设置多项式核函数的最高此项次数,也就是公式中的d,默认值是3。-g用来设置核函数中的gamma参数设置,也就是公式中的第一个r(gamma),默认值是1/k(k是类别数)。-r用来设置核函数中的coef0,也就是公式中的第二个r,默认值是0。
3)对于RBF核函数,有一个参数。-g用来设置核函数中的gamma参数设置,也就是公式中的第一个r(gamma),默认值是1/k(k是类别数)。
4)对于sigmoid核函数,有两个参数。-g用来设置核函数中的gamma参数设置,也就是公式中的第一个r(gamma),默认值是1/k(k是类别数)。-r用来设置核函数中的coef0,也就是公式中的第二个r,默认值是0。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 svmcgforclass.m 的文章

 

随机推荐