虚心请教BP神经网络编程中的问题
小弟初来,在这个版看了很多精华,然后试着编了一个bp神经网络的命令流,但发觉不能运行,请大家帮帮忙,谢谢了!p=[26.11 13.44 30.54 25.43 14.75 38.98 25.45 15.07 40.71 20.50 11.53 24.43;
30.83 20.49 31.79 30.05 20.95 40.87 30.12 21.12 43.01 26.18 17.57 27.20;
30.44 13.78 35.47 29.13 14.32 45.24 29.07 14.47 47.35 22.40 15.07 29.15;
32.99 23.65 37.60 32.04 23.92 47.98 32.06 24.04 50.36 26.24 22.77 31.72;
32.39 23.53 40.79 32.36 25.41 52.63 32.56 25.91 55.25 27.98 21.42 33.70;
34.90 18.98 29.92 33.13 18.84 37.59 33.02 18.84 39.26 27.06 19.36 24.97;
32.29 12.94 33.21 30.81 13.74 42.14 30.73 13.94 43.97 24.25 12.79 26.78;
32.75 19.88 35.96 32.14 21.52 45.94 32.21 21.94 48.01 27.20 18.11 29.05;
36.78 21.84 36.97 36.04 22.93 47.89 36.18 23.24 50.47 32.45 17.70 31.65]';
t=[1.10 8.00 1.00 12.00 0.25;
1.20 8.00 3.00 28.00 0.22;
1.30 8.00 2.00 20.00 0.16;
1.40 8.00 5.00 24.00 0.19;
1.50 8.00 4.00 16.00 0.28;
1.10 10.00 4.00 24.00 0.16;
1.20 10.00 1.00 16.00 0.19;
1.30 10.00 3.00 12.00 0.28;
1.40 10.00 2.00 28.00 0.25]';
%归一化
for i=1:12
P(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));
end
for i=1:5
T(i,:)=(t(i,:)-min(t(i,:)))/(max(t(i,:))-min(t(i,:)));
end
net=newff(minmax(P),,{'tansig','purelin'},'trainlm');
net.trainParam.epochs=5000;
net.trainParam.goal=0.001;
net.trainParam.show=50;
net.trainParam.lr=0.05;
net.trainParam.show = NaN; %不显示训练过程中那个描述误差的对话框
net=train(net,P,T);
y=sim(net,p);
p_test=]';
t_test=]';
t=sim(net,p_test);
err=t_test-t;
jj=1:5;
plot(jj,err,'r');
%选择误差小的保存网络
%save filename net
%以后调用时
%load filename net
%p_test=[ ];
%t_test=[ ];
%t=sim(net,p_test);
%err=t_test-t;
%plot(p_test,err);
还有一个问题:在别人的论文中看到这样一句话:
“为了更好使用神经网络中的训练函数,往往需要对样本做一些事先和事后的小狐狸,本文采用了
%“零均值和标准偏差型函数”(prestd,poststd,trastd)对样本进行预处理”
这个是不是就相当于上面的归一化处理?如果用“零均值和标准偏差型函数”,那么应该如何编写文件呢?
谢谢大家的帮忙。
[ 本帖最后由 eight 于 2007-7-5 15:13 编辑 ] :@( :@( 竟然没有人愿意回答下么?还是我的问题太简单了?
我已经搜索整个版面,我也是照着很多人的回答编写的啊?
谢谢大家了,帮帮我吧 画误差图不能直接用
err=t_test-t;
要先对t_test反归一化,再减。
把反归一化语句写上应该问题不大
(prestd,poststd,trastd)对样本进行预处理”
其实也是一种归一化处理形式,都是使得样本更好训练,减少训练误差。 :@) :@) 谢谢斑竹!!!
我是学力学的,因此对这个一窍不通,我发现您给我改了很多地方,才知道我原来错了很多地方!
我一定继续钻研,有问题再请教。
我是河海大学的,有需要我帮忙的我可以帮,谢谢! 真是高手如云,学习中!:lol
页:
[1]