数学建模社区-数学中国

标题: BP神经网络 [打印本页]

作者: 狼之魂汪洋    时间: 2014-8-12 19:46
标题: BP神经网络
写了个BP神经网络的小程序,但进行预测的时候总是误差太大,不知道从何改起,求助大神帮助,程序如下。谢谢& f- o) r, t/ `+ |
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];7 r5 Z. k6 \: q& U! {2 n( w
Te1=[1000.00,900.00,950.00,950.00];
; H" [  E9 @6 E% T/ NTi=[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];9 n7 i, W2 i9 o, W
Ti1=[70,70,60,60];$ k% {8 a% A* `: i
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];: o: N* m0 S- G, V( ~7 ]; r. T
S1=[2.00,3.00,1.66,2.50];# V- W: l! N" x7 E, N0 H1 p
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];' V( l" M# x8 m1 ]1 y, A  ]
I1=[995.00,1050.00,945.00,1101.00];* V( {% V5 T" a9 {' E
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];; j8 y! g2 O% l5 ^6 x/ X
Y1=[72.01,65.65,78.63,68.11];8 p+ e  u' A8 l3 D" }. S) c
P=[Te;Ti;S];%输入数据8 G% j) c" K0 L- j
P1=[Te1;Ti1;S1];%检测的输入数据
8 i, _( U# Y) j: O/ G$ rT=[I;Y];  %输出数据
: ]- M8 X/ C8 O  K7 v, U9 WT1=[I1;Y1];  %检测的的输出实际数据
& B4 x6 X+ p& ]% j0 \8 A; M8 R[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T);  %归一化+ _& H- v1 S, N/ U& f" m) H
net=newff(minmax(Pn),[3,3,2],{'tansig', 'tansig','purelin'},'trainlm');  %建立神经网络6 K1 y5 `# m/ \9 Y3 Y
net.trainParam.goal=0.000001;      - x/ ^* q) P; |, D2 x* m# {" |; G& W& c
net.trainParam.show=50;
" Y- Z. s$ U  ]. \* knet=train(net,Pn,Tn);    %网络训脸0 e4 ~- u0 K' k% F5 f* _
[Pn1]=tramnmx(P1,minp,maxp)    %检测输入数据的归一化
' n7 G  B" g: Q9 v7 A+ \t_sim1=sim(net,Pn1);    %模拟输出) G: K. h& B- c2 l
t_sim2=postmnmx(t_sim1,mint,maxt);   %模拟数据的反归一化
' F5 p7 y/ k5 F7 j& @( M+ CE1=t_sim2-T1    %模拟值与实际值的差值7 w5 A( {/ g. Q) d! B5 K
M1=mse(E1)
! o$ Q' W1 F$ m6 B( }




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5