数学建模社区-数学中国
标题:
BP神经网络
[打印本页]
作者:
狼之魂汪洋
时间:
2014-8-12 19:46
标题:
BP神经网络
写了个BP神经网络的小程序,但进行预测的时候总是误差太大,不知道从何改起,求助大神帮助,程序如下。谢谢
0 H( R" y6 t; E- S; L
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];
( t* n4 y9 y7 Q3 U$ g
Te1=[1000.00,900.00,950.00,950.00];
6 `9 ^1 I6 [% x
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];
! ^/ P8 {: G. c% }2 [ s
Ti1=[70,70,60,60];
. e+ o! B2 e1 }9 V
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];
/ S" e" I o% o! y6 [* c. `3 r
S1=[2.00,3.00,1.66,2.50];
$ h" }, p, L- D$ K8 ]. _1 t
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];
1 U: N6 h2 V" Z( t# a) w- J& M3 |+ F
I1=[995.00,1050.00,945.00,1101.00];
4 B V' W* `$ ~# l
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& J! W- Z( W; z- O9 P
Y1=[72.01,65.65,78.63,68.11];
0 i5 z) q3 H* o7 V4 B3 ~) v
P=[Te;Ti;S];%输入数据
0 y/ G. z- `0 G
P1=[Te1;Ti1;S1];%检测的输入数据
* ^( p) \ U' e% Y
T=[I;Y]; %输出数据
6 r1 ?& S o5 Y# N+ W* L* w) ~5 i
T1=[I1;Y1]; %检测的的输出实际数据
3 h8 y' S6 U: F' T
[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T); %归一化
0 b$ Y+ b7 M5 m% y
net=newff(minmax(Pn),[3,3,2],{'tansig', 'tansig','purelin'},'trainlm'); %建立神经网络
# N. @ R! ]& j, q6 R
net.trainParam.goal=0.000001;
0 w6 U6 E: n9 ]
net.trainParam.show=50;
D0 |/ ?0 S8 {, D2 |
net=train(net,Pn,Tn); %网络训脸
3 Y8 a: I; I0 x1 h
[Pn1]=tramnmx(P1,minp,maxp) %检测输入数据的归一化
4 p$ ^$ _* E- g; D3 A. d7 ]
t_sim1=sim(net,Pn1); %模拟输出
$ ?9 ?! F! v) m* o2 U H, h6 [: n2 D% L
t_sim2=postmnmx(t_sim1,mint,maxt); %模拟数据的反归一化
5 V. Q8 B* W* s/ u0 i* G7 N
E1=t_sim2-T1 %模拟值与实际值的差值
& K9 Y. A0 ^* |8 ~. P! v7 r! P
M1=mse(E1)
" j2 X' |* b( q
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5