Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-03-25
年龄: 48
帖子: 2
声望力: 0 ![]() |
![]()
各位朋友,我用想用BPNN进行模拟,但是网络不收敛,达不到预订的goal,同时,训练结果进行模拟效果很差
正确率只有50%多点。算法中,输入有8个类型的数据,输出一个,代码和数据如下,请指教 close all; clc; datalen=5000; % 初始化训练数据 [pn,pt_ps]=mapminmax(input(1:datalen,1:8)'); [tn,td_ps]=mapminmax(input(1:datalen,9)'); pt=round(pn*10000)/10000; td=round(tn*10000)/10000; %产生BP神经网络 net=newff(pt,td,[17,1],{'tansig','purelin'},'trainlm'); %初始化网络 net=init(net); %设置网络运行参数 net.trainParam.epochs=10000; net.trainParam.goal=0.001; net.trainParam.time=inf; %网络训练 net=train(net,pt,td); %网络模拟 A=sim(net,pt); E=A-td; M=sse(E); N=mse(E) data2= mapminmax('apply',input(101:200,1:8)',pt_ps); p2n=data2; a2n=sim(net,p2n); a2=mapminmax('reverse',a2n,td_ps); c=round(a2) b=input(101:200,9)' L=length(find((b-c)~=0)) |
![]() |
![]() |