资源描述:
《训练样本程序2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、%%%把123代表第一类,213代表第二类,231代表第三类%训练样本准备%输入矢量矩阵%pp=[123;213;231];%输入数据归一化,注意mat头上有一点表示转至,就是说矩阵的行和列变换,比如100行96列,转置后是96行100列p=prestd(mat)';%目标矢量矩阵,也就是我们要得到的想要的结果t=[100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;10
2、0;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010
3、;001;100;010;001;100;010;001;001;100;010;001];t=t';%如果是样本的列说是300时%t(1:100)=[100];%t(101:200)=[010];%t(201:300)=[001];%建立网络结构net1=newff(minmax(p),[96,19,3],{'tansig','tansig','purelin'},'traingdm');%设置网络参数net1.trainParam.show=50;net1.trainParam.lr=0.2;net1.t
4、rainParam.mc=0.2;net1.trainParam.epochs=10000;net1.trainParam.goal=1e-5;%对网络进行训练[net1,tr]=train(net1,p,t);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%以上完成样本的学习,下面进入仿真%询问是否现在仿真fori=1:100 R=questdlg('是否进行仿真?','选择','仿真','退出','下一次','仿真'); if(strcmp(R,'仿真'))
5、 CS=inputdlg({'标志1','标志2','标志3'},'parameter',1); s=size(CS); if(s(1)==0
6、s(2)==0) continue; end p0=[str2num(CS{1}),str2num(CS{2}),str2num(CS{3})]; p0 p1=prestd(p0)'; A=sim(net1,p1) elseif(strcmp(R,'退出')) brea
7、k; return; elseif(strcmp(R,'下一次')) endend%%%>>s=strcat(num2str(a(1)),',',num2str(a(2)),',',num2str(a(3)))%%s=1,2,3%%%>>msgbox(s)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%分类程序2%p为输入,t为目标输出p=[123;234;456;234];t=[100;010;001;010];%求输入输出转置p=p';t=t';%%
8、%网络设定net=newff(minmax(p),[17,3],{'tansig','logsig'},'trainlm');%%设定网络参数,除设定参数外,其余参数都为随机数net.trainparam.epochs=20000;net.trainparam.goal=0.001;%训练样本net=train(net,p,t);%%%%测试训练好的样本,test为检测样本test=[123]';Y=sim(net,test);22222222222222222222222222p=prestd(mat)';
9、%目标矢量矩阵,也就是我们要得到的想要的结果t=[100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;001;100;010;