数学建模社区-数学中国
标题:
BP神经网络
[打印本页]
作者:
狼之魂汪洋
时间:
2014-8-12 19:46
标题:
BP神经网络
写了个BP神经网络的小程序,但进行预测的时候总是误差太大,不知道从何改起,求助大神帮助,程序如下。谢谢
' V& Q. q; h5 a& h
Te=[900.00,1000.00,900.00,900.00,1000.00,1000.00,866.00,1034.00,950.00,950.00,950.00,950.00,950.00,950.00,950.00,950.00];
/ }* L5 W: A! N& A3 N/ b/ r d" ^/ Z
Te1=[1000.00,900.00,950.00,950.00];
2 H/ k# E6 K0 | L1 ]
Ti=[50.00,50.00,70.00,50.00,50.00,70.00,61.00,60.00,43.00,77.00,60.00,60.00,60.00,60.00,60.00,60.00];
: l. a& G% e8 j2 H# q% s: v
Ti1=[70,70,60,60];
1 q5 |. [) y. y; z8 _2 j
S=[2.00,2.00,2.00,3.00,3.00,3.00,2.50,2.50,2.50,2.50,3.34,2.50,2.50,2.50,2.50,2.50];
% v8 V% O; p* H, a' S6 t
S1=[2.00,3.00,1.66,2.50];
" U3 Z2 {0 W2 A/ ]
I=[900.00,950.00,960.00,953.00,1060.00,1011.00,899.00,1023.00,942.00,1025.00,1000.00,1103.00,1100.00,1104.00,1100.00,1101.00];
* B! @4 Y- P9 J9 g
I1=[995.00,1050.00,945.00,1101.00];
& G- o! T1 f, o- `, J
Y=[80.23,77.35,74.59,75.24,66.30,60.49,83.27,63.34,78.12,70.11,55.40,68.10,68.21,68.03,68.30,68.17];
( `) F. N, B7 F6 X4 O$ ~" X
Y1=[72.01,65.65,78.63,68.11];
2 N" D. O$ n; L4 T( h1 i* U
P=[Te;Ti;S];%输入数据
$ V* m, r6 L+ H/ W' b5 q
P1=[Te1;Ti1;S1];%检测的输入数据
3 ^& [. Z& Z1 C( M7 g8 Y
T=[I;Y]; %输出数据
5 |! q; n# a6 Z
T1=[I1;Y1]; %检测的的输出实际数据
" c' M4 s: O: W! W g
[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T); %归一化
1 P: T5 R( h: M5 s' V, N
net=newff(minmax(Pn),[3,3,2],{'tansig', 'tansig','purelin'},'trainlm'); %建立神经网络
5 X1 u3 q: h' u4 k
net.trainParam.goal=0.000001;
9 B3 L3 ~, f5 x. C
net.trainParam.show=50;
3 X/ Q v6 ^& }, d+ r
net=train(net,Pn,Tn); %网络训脸
, [% l9 E8 A2 g% N0 b4 z
[Pn1]=tramnmx(P1,minp,maxp) %检测输入数据的归一化
6 @- R- E5 K c* k! i7 w9 p# p
t_sim1=sim(net,Pn1); %模拟输出
: F/ p7 I V$ g2 b, N" E+ ~
t_sim2=postmnmx(t_sim1,mint,maxt); %模拟数据的反归一化
$ F1 m0 r) u1 {$ |7 {& b \
E1=t_sim2-T1 %模拟值与实际值的差值
U. t1 |! \0 f6 z* G( X
M1=mse(E1)
+ u+ |+ I7 y5 a- D" F0 o9 O
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5