数学建模社区-数学中国
标题:
BP神经网络
[打印本页]
作者:
狼之魂汪洋
时间:
2014-8-12 19:46
标题:
BP神经网络
写了个BP神经网络的小程序,但进行预测的时候总是误差太大,不知道从何改起,求助大神帮助,程序如下。谢谢
) b- s1 u; I. ? D" P$ A
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];
! o5 {6 U! o( f0 o* {: z0 j
Te1=[1000.00,900.00,950.00,950.00];
0 B# Q; I, {5 e. J, ^" |
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];
, {5 N% N# E+ r! b4 f2 c
Ti1=[70,70,60,60];
/ v* l7 z3 {% F% y5 F% D) W6 L
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];
* Z: M c' ?& ?1 T% Y* ]8 _1 m$ a
S1=[2.00,3.00,1.66,2.50];
9 h/ i6 J3 T% R- d' t3 |
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];
' F; W/ d5 |$ N m2 `% M* n/ G3 R
I1=[995.00,1050.00,945.00,1101.00];
' e7 l7 k. m$ N9 u
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];
+ v: Y2 Y0 O) D( s' K/ T
Y1=[72.01,65.65,78.63,68.11];
|% a* N: V4 I5 R0 L, e
P=[Te;Ti;S];%输入数据
, R( N$ Z) d# g3 G/ K! W1 o
P1=[Te1;Ti1;S1];%检测的输入数据
) ~! j9 L- q0 T n' z1 E
T=[I;Y]; %输出数据
4 [8 h+ v4 L/ m3 W" e9 l& P( N
T1=[I1;Y1]; %检测的的输出实际数据
; B1 t" {' S# S! `! [
[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T); %归一化
; ^. d z1 n3 I; o2 c0 |) H* |0 Q
net=newff(minmax(Pn),[3,3,2],{'tansig', 'tansig','purelin'},'trainlm'); %建立神经网络
2 s; e, }5 I, b- {0 J3 p- D7 A
net.trainParam.goal=0.000001;
# p4 Z4 i. T2 Q l6 L, N
net.trainParam.show=50;
; f; {$ y0 X8 Y) j! c. |7 D
net=train(net,Pn,Tn); %网络训脸
/ n$ P7 \2 p* ]4 n7 d( F
[Pn1]=tramnmx(P1,minp,maxp) %检测输入数据的归一化
# {; P c3 P% P
t_sim1=sim(net,Pn1); %模拟输出
& m% e' B: O5 _6 F5 m$ _: p# A. z
t_sim2=postmnmx(t_sim1,mint,maxt); %模拟数据的反归一化
5 y) {, z2 k j
E1=t_sim2-T1 %模拟值与实际值的差值
# _4 j* ]3 u0 X
M1=mse(E1)
6 w# n! q8 v. C) ?; s
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5