基于lmbp神经网络的效能评估(源代码)

来源:互联网 发布:xy苹果手机助手mac版 编辑:程序博客网 时间:2024/05/20 04:29
%参考论文:基于lmbp神经网络的效能评估clearclc%------------------训练数据------------------%Tin_train为输入数据,Tout_train为输出数据(由于原文没有定义输出数据,此处为自定义)Tin_train=[0.89 0.97 0.91 0.88 0.95 0.82 0.89 0.78 0.85 0.69 0.92 0.87 0.96 0.79 0.93 0.94;     0.65 0.64 0.69 0.53 0.75 0.71 0.65 0.64 0.65 0.73 0.69 0.62 0.71 0.52 0.76 0.70;     0.42 0.51 0.37 0.43 0.58 0.44 0.36 0.53 0.56 0.34 0.29 0.36 0.42 0.49 0.50 0.45;     0.21 0.12 0.15 0.22 0.38 0.21 0.42 0.28 0.21 0.13 0.15 0.23 0.31 0.43 0.39 0.27;     0.56 0.32 0.65 0.78 0.64 0.75 0.49 0.62 0.52 0.54 0.54 0.67 0.46 0.55 0.65 0.57;     0.24 0.33 0.36 0.41 0.39 0.29 0.35 0.45 0.28 0.31 0.32 0.34 0.44 0.51 0.33 0.26;     0.73 0.96 0.89 0.95 0.92 0.85 0.85 0.96 0.89 0.84 0.92 0.81 0.76 0.95 0.89 0.93;     0.79 0.68 0.75 0.91 0.90 0.85 0.75 0.91 0.79 0.86 0.65 0.63 0.64 0.84 0.95 0.81;]; Tout_train=[1    0    0    0    0    0    1    0;             0    1    0    0    1    0    0    1;             0    0    1    0    0    1    0    0;             0    0    0    1    0    0    0    0];%------------------训练神经网络------------------ %对原始数据进行规范化处理[pn,meanp,stdp,tn,meant,stdt]=prestd(Tin_train',Tout_train);%乱序N=8;b=randperm(N);B=zeros(16,8);B(1,:)=pn(1,b);B(2,:)=pn(2,b);B(3,:)=pn(3,b);B(4,:)=pn(4,b); B(5,:)=pn(5,b);B(6,:)=pn(6,b);B(7,:)=pn(7,b);B(8,:)=pn(8,b);B(9,:)=pn(9,b);B(10,:)=pn(10,b);B(11,:)=pn(11,b);B(12,:)=pn(12,b);B(13,:)=pn(13,b);B(14,:)=pn(14,b);B(15,:)=pn(15,b);B(16,:)=pn(16,b);C=tn(:,b);pn=B;tn=C;%建立相应的BP网络net = newff(minmax(pn),[16,12,4],{'tansig' 'logsig' 'purelin' },'trainlm');net.trainParam.goal = 0.00001;net.trainParam.lr=0.05;%训练网络net = train(net,pn,tn);%------------------输出结果------------------clcdisp('训练数据样本结果与神经网络输出结果对比:')disp('==============================')disp('第一组训练样本结果:')Tout_train(:,1)disp('针对第一组训练数据的神经网络输出:')Tin_act=Tin_train(1,:);     pn_new=trastd(Tin_act',meanp,stdp);an_new=sim(net,pn_new);Tout=poststd(an_new,meant,stdt)disp('==============================')disp('第二组训练样本结果:')Tout_train(:,2)disp('针对第二组训练数据的神经网络输出:')Tin_act=Tin_train(2,:);     pn_new=trastd(Tin_act',meanp,stdp);an_new=sim(net,pn_new);Tout=poststd(an_new,meant,stdt)disp('==============================')disp('第三组训练样本结果:')Tout_train(:,3)disp('针对第三组训练数据的神经网络输出:')Tin_act=Tin_train(3,:);     pn_new=trastd(Tin_act',meanp,stdp);an_new=sim(net,pn_new);Tout=poststd(an_new,meant,stdt)disp('==============================')disp('第四组训练样本结果:')Tout_train(:,4)disp('针对第四组训练数据的神经网络输出:')Tin_act=Tin_train(4,:);     pn_new=trastd(Tin_act',meanp,stdp);an_new=sim(net,pn_new);Tout=poststd(an_new,meant,stdt)disp('==============================')disp('第五组训练样本结果:')Tout_train(:,5)disp('针对第五组训练数据的神经网络输出:')Tin_act=Tin_train(5,:);     pn_new=trastd(Tin_act',meanp,stdp);an_new=sim(net,pn_new);Tout=poststd(an_new,meant,stdt)disp('==============================')disp('第六组训练样本结果:')Tout_train(:,6)disp('针对第六组训练数据的神经网络输出:')Tin_act=Tin_train(6,:);     pn_new=trastd(Tin_act',meanp,stdp);an_new=sim(net,pn_new);Tout=poststd(an_new,meant,stdt)disp('==============================')disp('第七组训练样本结果:')Tout_train(:,7)disp('针对第七组训练数据的神经网络输出:')Tin_act=Tin_train(7,:);     pn_new=trastd(Tin_act',meanp,stdp);an_new=sim(net,pn_new);Tout=poststd(an_new,meant,stdt)disp('==============================')disp('第八组训练样本结果:')Tout_train(:,8)disp('针对第八组训练数据的神经网络输出:')Tin_act=Tin_train(8,:);     pn_new=trastd(Tin_act',meanp,stdp);an_new=sim(net,pn_new);Tout=poststd(an_new,meant,stdt)disp('==============================')%说明:由于原文并没有指定Tout_train,此处输出结果并不代表专家判断结果disp('表1第九、十批次数据神经网络输出结果(两列分别对应两批次结果):') Tin_act=[0.23 0.26 0.12 0.23 0.12 0.41 0.37 0.26 0.34 0.15 0.23 0.45 0.19 0.31 0.22 0.28;          0.48 0.61 0.42 0.66 0.56 0.48 0.66 0.71 0.59 0.49 0.65 0.52 0.71 0.36 0.39 0.52;];   pn_new=trastd(Tin_act',meanp,stdp);an_new=sim(net,pn_new);Tout=poststd(an_new,meant,stdt)

1 0