matlab解决svr代码_第1页
matlab解决svr代码_第2页
matlab解决svr代码_第3页
matlab解决svr代码_第4页
matlab解决svr代码_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、多元线性回归和BP神经网络及决策向量机之间的比较,个人理解:多元线性回归:就是多个属性的线性组合,在组合时,通过不断调节每个属性的权重来使多元线性回归函数更多的适用于多个样本。BP神经网络:通过使用最快速下降法,通过反向传播来不断调整网络中的权值和阈值,使网络的误差平方和最小。决策向量机:它仍是对每个样本操作,使得所有样本距离最终生成的拟合曲线的间隔最小化。算法比较:BP目标函数: J1pmm22j i(yj dj)权值调整:wk1决策向量机目标函数:min1/2wA2支持向量机(Supportvectormachines,SVM疗神经网络类似,都是学习型的机制,但与神经网络不同的是SVM使用

2、的是数学方法和优化技术。学习效率的比较:导入数据:File->importdata参数优化常用方法:train_pca,test_pca=pcaForSVM(train_data,test_data,97);函数为RBF核函数时:优化前:train_label=data(1:50,1);train_data=data(1:50,2:14);model=svmtrain(train_label,train_data,'-s3-t2-c-g-p');predict_label,mse,dec_value=svmpredict(train_label,train_data,mo

3、del);%±一行利用自身的值和预测值进行比较,求得模型实际结果和预测结果的均方值test_label=data(51:100,1);test_data=data(51:100,2:14);predict_label,mse,dec_value=svmpredict(test_label,test_data,model);优化后:train_label=data(1:50,1);train_data=data(1:50,2:14);bestmse,bestc,bestg=SVMcgForRegress(train_label,train_data)%优化方法暂定为网格寻优cmd=&#

4、39;-c',num2str(bestc),'-g',num2str(bestg),'-s3-t2-p'model=svmtrain(train_label,train_data,cmd);ptrain,mse,dec_value=svmpredict(train_label,train_data,model);figure;%画图比较预测值和实际值subplot(2,1,1);plot(train_label,'-o');holdon;plot(ptrain,'r-s');gridon;legend('origi

5、nal','predict');title('TrainSetRegressionPredictbySVM');2 .核函数为多项式核函数时train_label=data(1:50,1);train_data=data(1:50,2:14);bestmse,bestc,bestg=SVMcgForRegress(train_label,train_data);cmd='-c',num2str(bestc),'-g',num2str(bestg),'-s3-t1-p'model=svmtrain(train

6、_label,train_data,cmd);ptrain,mse=svmpredict(train_label,train_data,model);figure;%画图比较预测值和实际值subplot(2,1,1);plot(train_label,'-o');holdon;plot(ptrain,'r-s');gridon;legend('original','predict');title('TrainSetRegressionPredictbySVM');Meansquarederror=(regressi

7、on)Squaredcorrelationcoefficient=(regression)3 .核函数为线性乘积0-linear:u'*vtrain_label=data(1:50,1);train_data=data(1:50,2:14);bestmse,bestc,bestg=SVMcgForRegress(train_label,train_data);cmd='-c',num2str(bestc),'-g',num2str(bestg),'-s3-t0-p'model=svmtrain(train_label,train_data

8、,cmd);ptrain,mse=svmpredict(train_label,train_data,model);figure;%画图比较预测值和实际值subplot(2,1,1);plot(train_label,'-o');holdon;plot(ptrain,'r-s');gridon;legend('original','predict');title('TrainSetRegressionPredictbySVM');Meansquarederror=14537(regression)Squaredco

9、rrelationcoefficient=(regression)4 .核函数为sigmoid:tanh(gamma*u'*v+coef0)神经元的非线性作用函数train_label=data(1:50,1);train_data=data(1:50,2:14);bestmse,bestc,bestg=SVMcgForRegress(train_label,train_data);cmd='-c',num2str(bestc),'-g',num2str(bestg),'-s3-t3-p'model=svmtrain(train_labe

10、l,train_data,cmd);ptrain,mse=svmpredict(train_label,train_data,model);figure;%画图比较预测值和实际值subplot(2,1,1);plot(train_label,'-o');holdon;plot(ptrain,'r-s');gridon;legend('original','predict');title('TrainSetRegressionPredictbySVM');注意:第一部分在建模时仅采用的是前50组数据生成的测试效率-因

11、素模型,当选取的训练集越多(接近100)时,他的效果是越差的,举例说明如下:核函数为 RBFMean squared error = (regression)Squared correlation coefficient = (regression)下图为江良学长的测试成本-因素结果Mean squared error = (regression)Squared correlation coefficient = (regression)选取的样本越多,得到的MS喇大(虽然mse增加,但对样本的预测效果肯定会更好,因为随着样本数增加,学习能力肯定提高),而相关系数反而有所提高(接近于1最佳);

12、问题提出:为什么 bestmse =+004与实际训练出来的 Mean squared error = (regression) 相距甚选-变神锤网络的摘T-昵神蛭网络实际材据r多元雄壮回归加何r-密而续住回心实际收搪Part2:从参数优化方法选取不同上比较那种参数选取更优此比较基于RBF核函数而言1.基于网格寻优方法FnrlPuinpJSIfitRflJI 撒把:评本笫 线建,潮流牛或成本Tiflir 95 R自/白匕&自。上 1 by 口丫独白一口13 ! -61- prrdKf(ran hjagrcsiiETiBy M品 1r代码:train_label=data(1:50,1)

13、;train_data=data(1:50,2:14);bestmse,bestc,bestg=SVMcgForRegress(train_label,train_data)%优化方法暂定为网格寻优cmd='-c',num2str(bestc),'-g',num2str(bestg),'-s3-t2-p'model=svmtrain(train_label,train_data,cmd);ptrain,mse,dec_value=svmpredict(train_label,train_data,model);结果:bestmse=+004bes

14、tc=bestg=Meansquarederror=(regression)Squaredcorrelationcoefficient=(regression)1t却匕k砧串.仁'LKffili.-J.-.Thrvtr.d目MtC=:'=576?=口口口+4口63CVfflW=15541尊犯工2 .基于遗传算法寻优train_label=data(1:50,1);train_data=data(1:50,2:14);bestCVmse,bestc,bestg,ga_option=gaSVMcgForRegress(train_label,train_data)cmd='

15、-c',num2str(bestc),'-g',num2str(bestg),'-s3-t2-p'model=svmtrain(train_label,train_data,cmd);ptrain,mse,dec_value=svmpredict(train_label,train_data,model);结果:bestCVmse=+004bestc=bestg=ga_option=maxgen:200sizepop:20ggap:cbound:0100gbound:01000v:5Meansquarederror=(regression)Squared

16、correlationcoefficient=(regression)口或初六小江:好般打必(?rib靖=1冲和珞决Sp姓初3 .基于pso寻优(在这里使用启发式算法PSO来进行参数寻优,用网格划分(gridsearch)来寻找最佳的参数c和g,虽然采用网格搜索能够找到在CV意义下的最高的分类准确率,即全局最优解,但有时候如果想在更大的范围内寻找最佳的参数c和g会很费时,采用启发式算法就可以不必遍历网格内的所有的参数点,也能找到全局最优解)代码:train_label=data(1:50,1);train_data=data(1:50,2:14);bestCVmse,bestc,bestg,p

17、so_option=psoSVMcgForRegress(train_label,train_data)cmd='-c',num2str(bestc),'-g',num2str(bestg),'-s3-t2-p'model=svmtrain(train_label,train_data,cmd);ptrain,mse,dec_value=svmpredict(train_label,train_data,model);结果:+004bestc=bestg=pso_option=c1:c2:maxgen:200sizepop:20k:wV:1wP:

18、1v:5popcmax:100popcmin:popgmax:1000popgmin:Meansquarederror=(regression)Squaredcorrelationcoefficient=(regression)注意:仍是以前50组样本为例Part3:主元分析仍然以RBF为核函数,进行主元分析之后参数优化,最终得到MSE代码:train_label=data(1:50,1);train_data=data(1:50,2:14);test_label=data(51:100,1);test_data=data(51:100,2:14);train_pca,test_pca=pcaForSVM(train_data,test_

温馨提示

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

评论

0/150

提交评论