《Bp神经网络仿真.pdf》由会员分享,可在线阅读,更多相关《Bp神经网络仿真.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、%I.清除环境变量 clear all clc%II.声明全局变量 global p%训练集输入数据 global t%训练集输出数据 global R%输入神经元个数 global S2%输出神经元个数 global S1%隐层神经元个数 global S%编码长度 其实就是连接权值个数和阈值个数的总和 S1=10;%III.导入数据%1.训练数据 6-10-4 6*10+10*4+10+4 p=0.01 0.01 0.00 0.90 0.05 0.00;0.00 0.00 0.00 0.40 0.50 0.00;0.80 0.00 0.10 0.00 0.00 0.00;0.00 0.20
2、 0.10 0.00 0.00 0.10;t=1.00 0.00 0.00 0.00;0.00 1.00 0.00 0.00;0.00 0.00 1.00 0.00;0.00 0.00 0.00 1.00;%2.测试数据 P_test=0.05 0 0.9 0.12 0.02 0.02;0 0 0.9 0.05 0.05 0.05;0.01 0.02 0.45 0.22 0.04 0.06;0 0 0.4 0.5 0.1 0;0 0.1 0 0 0 0;%IV.BP 神经网络%1.网络创建 net=newff(minmax(p),S1,4,tansig,purelin,trainlm);%2.
3、设置训练参数 net.trainParam.show=10;net.trainParam.epochs=2000;net.trainParam.goal=1.0e-3;net.trainParam.lr=0.1;BP 神经网络的仿真%3.网络训练 net,tr=train(net,p,t);%4.仿真测试 s_bp=sim(net,P_test)%BP 神经网络的仿真结果%V.GA-BP 神经网络 R=size(p,1);S2=size(t,1);S=R*S1+S1*S2+S1+S2;%计算过了刚才 114 aa=ones(S,1)*-1,1;%VI.遗传算法优化%1.初始化种群 popu=5
4、0;%种群规模 initPpp=initializega(popu,aa,gabpEval,1e-6 1);%初始化种群 gabpEval 看一下这个函数,还调用了 gadecod%2.迭代优化 gen=100;%遗传代数%调用GAOT工具箱,其中目标函数定义为gabpEval endpop 前114 列吻合 S,115 列代表 适应度函数值 x,endPop,bPop,trace=ga(aa,gabpEval,initPpp,1e-6 1 1,maxGenTerm,gen,.normGeomSelect,0.09,arithXover,2,nonUnifMutation,2 gen 3);%
5、3.绘均方误差变化曲线 figure(1)plot(trace(:,1),1./trace(:,3),r-);hold on plot(trace(:,1),1./trace(:,2),b-);xlabel(Generation);ylabel(Sum-Squared Error);%4.绘制适应度函数变化 figure(2)plot(trace(:,1),trace(:,3),r-);hold on plot(trace(:,1),trace(:,2),b-);xlabel(Generation);ylabel(Fittness);%VII.解码最优解并赋值%1.解码最优解 W1,B1,W2,B2,val=gadecod(x);%2.赋值给神经网络 net.IW1,1=W1;net.LW2,1=W2;net.b1=B1;net.b2=B2;%VIII.利用新的权值和阈值进行训练 net=train(net,p,t);%IX.仿真测试 s_ga=sim(net,P_test)%遗传优化后的仿真结果