已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
% SVM神经网络中的参数优化-如何更好的提升分类器的性能 % 清空环境变量function chapter13_GAclose all;clear;clc;format compact;% 数据提取% 载入测试数据wine,其中包含的数据为classnumber = 3,wine:178*13的矩阵,wine_labes:178*1的列向量load chapter13_wine.mat;% 画出测试数据的box可视化图figure;boxplot(wine,orientation,horizontal,labels,categories);title(wine数据的box可视化图,FontSize,12);xlabel(属性值,FontSize,12);grid on;% 画出测试数据的分维可视化图figuresubplot(3,5,1);hold onfor run = 1:178 plot(run,wine_labels(run),*);endxlabel(样本,FontSize,10);ylabel(类别标签,FontSize,10);title(class,FontSize,10);for run = 2:14 subplot(3,5,run); hold on; str = attrib ,num2str(run-1); for i = 1:178 plot(i,wine(i,run-1),*); end xlabel(样本,FontSize,10); ylabel(属性值,FontSize,10); title(str,FontSize,10);end% 选定训练集和测试集% 将第一类的1-30,第二类的60-95,第三类的131-153做为训练集train_wine = wine(1:30,:);wine(60:95,:);wine(131:153,:);% 相应的训练集的标签也要分离出来train_wine_labels = wine_labels(1:30);wine_labels(60:95);wine_labels(131:153);% 将第一类的31-59,第二类的96-130,第三类的154-178做为测试集test_wine = wine(31:59,:);wine(96:130,:);wine(154:178,:);% 相应的测试集的标签也要分离出来test_wine_labels = wine_labels(31:59);wine_labels(96:130);wine_labels(154:178);% 数据预处理% 数据预处理,将训练集和测试集归一化到0,1区间mtrain,ntrain = size(train_wine);mtest,ntest = size(test_wine);dataset = train_wine;test_wine;% mapminmax为MATLAB自带的归一化函数dataset_scale,ps = mapminmax(dataset,0,1);dataset_scale = dataset_scale;train_wine = dataset_scale(1:mtrain,:);test_wine = dataset_scale( (mtrain+1):(mtrain+mtest),: );% 选择GA最佳的SVM参数c&g% GA的参数选项初始化ga_option.maxgen = 200;ga_option.sizepop = 20; ga_option.cbound = 0,100;ga_option.gbound = 0,100;ga_option.v = 5;ga_option.ggap = 0.9;bestacc,bestc,bestg = gaSVMcgForClass(train_wine_labels,train_wine,ga_option);% 打印选择结果disp(打印选择结果);str = sprintf( Best Cross Validation Accuracy = %g% Best c = %g Best g = %g,bestacc,bestc,bestg);disp(str);% 利用最佳的参数进行SVM网络训练cmd = -c ,num2str(bestc), -g ,num2str(bestg);model = svmtrain(train_wine_labels,train_wine,cmd);% SVM网络预测predict_label,accuracy = svmpredict(test_wine_labels,test_wine,model);% 打印测试集分类准确率total = length(test_wine_labels);right = sum(predict_label = test_wine_labels);disp(打印测试集分类准确率);str = sprintf( Accuracy = %g% (%d/%d),accuracy(1),right,total);disp(str);% 结果分析% 测试集的实际分类和预测分类图figure;hold on;plot(test_wine_labels,o);plot(predict_label,r*);xlabel(测试集样本,FontSize,12);ylabel(类别标签,FontSize,12);legend(实际测试集分类,预测测试集分类);title(测试集的实际分类和预测分类图,FontSize,12);grid on;snapnow;% 子函数 gaSVMcgForClass.mfunction BestCVaccuracy,Bestc,Bestg,ga_option = gaSVMcgForClass(train_label,train_data,ga_option)% gaSVMcgForClass% by faruto%Email: QQ:516667408 /faruto BNU%last modified 2010.01.17%Super Moderator % 若转载请注明:% faruto and liyang , LIBSVM-farutoUltimateVersion % a toolbox with implements for support vector machines based on libsvm, 2009. % Software available at % % Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for% support vector machines, 2001. Software available at% .tw/cjlin/libsvm% 参数初始化if nargin = 2 ga_option = struct(maxgen,200,sizepop,20,ggap,0.9,. cbound,0,100,gbound,0,1000,v,5);end% maxgen:最大的进化代数,默认为200,一般取值范围为100,500% sizepop:种群最大数量,默认为20,一般取值范围为20,100% cbound = cmin,cmax,参数c的变化范围,默认为(0,100% gbound = gmin,gmax,参数g的变化范围,默认为0,1000% v:SVM Cross Validation参数,默认为5%MAXGEN = ga_option.maxgen;NIND = ga_option.sizepop;NVAR = 2;PRECI = 20;GGAP = ga_option.ggap;trace = zeros(MAXGEN,2);FieldID = .rep(PRECI,1,NVAR);ga_option.cbound(1),ga_option.gbound(1);ga_option.cbound(2),ga_option.gbound(2); . 1,1;0,0;0,1;1,1;Chrom = crtbp(NIND,NVAR*PRECI);gen = 1;v = ga_option.v;BestCVaccuracy = 0;Bestc = 0;Bestg = 0;%cg = bs2rv(Chrom,FieldID);for nind = 1:NIND cmd = -v ,num2str(v), -c ,num2str(cg(nind,1), -g ,num2str(cg(nind,2); ObjV(nind,1) = svmtrain(train_label,train_data,cmd);endBestCVaccuracy,I = max(ObjV);Bestc = cg(I,1);Bestg = cg(I,2);for gen = 1:MAXGEN FitnV = ranking(-ObjV); SelCh = select(sus,Chrom,FitnV,GGAP); SelCh = recombin(xovsp,SelCh,0.7); SelCh = mut(SelCh); cg = bs2rv(SelCh,FieldID); for nind = 1:size(SelCh,1) cmd = -v ,num2str(v), -c ,num2str(cg(nind,1), -g ,num2str(cg(nind,2); ObjVSel(nind,1) = svmtrain(train_label,train_data,cmd); end Chrom,ObjV = reins(Chrom,SelCh,1,1,ObjV,ObjVSel); if max(ObjV) BestCVaccuracy BestCVaccuracy = NewBestCVaccuracy; Bestc = cg_temp(I,1); Bestg = cg_temp(I,2); end if abs( NewBestCVaccuracy-BestCVaccuracy ) = 10(-2) & . cg_temp(I,1) Bestc BestCVaccuracy = NewBestCVaccuracy; Bestc = cg_temp(I,1); Bestg = cg_temp(I,2); end trace(gen,1) = max(ObjV); trace(gen,2) = sum(ObjV)/length(ObjV); end%figure;hold on;trace = round(trace*10000)/10000;plot(trace(1:gen,1),r*-,LineWidth,1.5);plot(trace(1:gen,2),o-,LineWidth,1.5);legend(最佳适应度,平均适应度,3);xlabel(进化代数,FontSize,12);ylabel(适应度,FontSize,12);axi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产年度工作总结
- 2026年全国卷高考历史古代思想文化易错点分析卷含解析
- 绿氢产业未来展望 (课件)
- 芳香烃衍生物生产工岗前工艺优化考核试卷含答案
- 镀层工安全实操强化考核试卷含答案
- 真空测试工安全意识测试考核试卷含答案
- 陶瓷、玻璃文物修复师改进模拟考核试卷含答案
- 项目安全培训管理
- 2026年高职(数字媒体艺术设计)UI设计制作阶段测试题及答案
- 《短视频制作》电子教案 课题20-使用快影App剪辑短视频
- 山东省聊城市2026年普通高中学业水平等级考试模拟卷(聊城二模)地理+答案
- 2025学年第二学期杭州市高三年级二模教学质量检测英语试卷+答案
- 装饰装修工程进度计划与保证措施
- 2026年初中美术考试题目及答案全套试题及答案
- 2026中国光刻胶行业销售动态与投资前景展望报告
- 船舶代理公司考核制度
- 2026华能笔试题库
- 2025年湖南长沙市拔尖选拔自主招生数学试卷试题(含答案详解)
- 函数的概念课件2025-2026学年人教版数学八年级下册
- 2026年中国铁路武汉局集团有限公司招聘高校毕业生1219人(公共基础知识)测试题附答案
- 8.1 课时3 煤、石油和天然气的综合利用 课件 2024-2025学年高一下学期化学人教版(2019)必修第二册
评论
0/150
提交评论