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

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

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

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

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

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

PSO参数优化PSO参数优化PSO参数优化利用PSO参数寻优函数(分类问题):psoSVMcgForClass[bestCVaccuracy,bestc,bestg,pso_option]=psoSVMcgForClass(train_label,train,pso_option)输入:train_label:训练集的标签,格式要求与svmtrain相同。train:训练集,格式要求与svmtrain相同。pso_option:PSO中的一些参数设置,可不输入,有默认值,详细请看代码的帮助说明。输出:bestCVaccuracy:最终CV意义下的最佳分类准确率.bestc:最佳的参数c.bestg:最佳的参数g。pso_option:记录PSO中的一些参数。==========================================================利用PSO参数寻优函数(回归问题):psoSVMcgForRegress[bestCVmse,bestc,bestg,pso_option]=psoSVMcgForRegress(train_label,train,pso_option)其输入输出与psoSVMcgForClass类似,这里不再赘述.复制代码psoSVMcgForClass源代码:function[bestCVaccuarcy,bestc,bestg,pso_option]=psoSVMcgForClass(train_label,train,pso_option)%psoSVMcgForClass%%%byfaruto%Email:patrick。lee@foxmail。comQQ:516667408http://blog。sina。com。cn/farutoBNU%lastmodified2010.01.17%%若转载请注明:%farutoandliyang,LIBSVM-farutoUltimateVersion%atoolboxwithimplementsforsupportvectormachinesbasedonlibsvm,2009。%%Chih—ChungChangandChih-JenLin,LIBSVM:alibraryfor%supportvectormachines,2001。Softwareavailableat%http://www.csie。ntu。edu.tw/~cjlin/libsvm%%参数初始化ifnargin==2pso_option=struct(’c1’,1.5,'c2',1。7,’maxgen',200,'sizepop',20,。。。’k’,0。6,'wV',1,’wP’,1,'v',5,.。。’popcmax',10^2,'popcmin’,10^(—1),'popgmax',10^3,’popgmin’,10^(—2));end%c1:初始为1。5,pso参数局部搜索能力%c2:初始为1.7,pso参数全局搜索能力%maxgen:初始为200,最大进化数量%sizepop:初始为20,种群最大数量%k:初始为0。6(kbelongsto[0.1,1.0]),速率和x的关系(V=kX)%wV:初始为1(wVbestbelongsto[0.8,1.2]),速率更新公式中速度前面的弹性系数%wP:初始为1,种群更新公式中速度前面的弹性系数%v:初始为3,SVMCrossValidation参数%popcmax:初始为100,SVM参数c的变化的最大值。%popcmin:初始为0.1,SVM参数c的变化的最小值。%popgmax:初始为1000,SVM参数g的变化的最大值.%popgmin:初始为0。01,SVM参数c的变化的最小值。Vcmax=pso_option.k*pso_option。popcmax;Vcmin=-Vcmax;Vgmax=pso_option。k*pso_option。popgmax;Vgmin=-Vgmax;eps=10^(—3);%%产生初始粒子和速度fori=1:pso_option.sizepop%随机产生种群和速度pop(i,1)=(pso_option.popcmax—pso_option.popcmin)*rand+pso_option。popcmin;pop(i,2)=(pso_option.popgmax-pso_option.popgmin)*rand+pso_option.popgmin;V(i,1)=Vcmax*rands(1,1);V(i,2)=Vgmax*rands(1,1);%计算初始适应度cmd=[’-v',num2str(pso_option。v),'-c',num2str(pop(i,1))