数学建模社区-数学中国

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

作者: jthawking    时间: 2009-9-1 19:44
标题: BP神经网络预测问题
以下是我写的一段BP神经网络预测的代码,模型建好后,不知怎样预测下一年的T值,哪位高手来指导下...! w: D1 z! T5 z$ }
%X为原始输入数据
' ?# p4 Y1 V5 x8 I$ A0 PP=[727000 297.35  327.53  2658 6.31  68.3 15948 737  16316 583.89 1.96;) X  J6 n4 T# q1 l6 d' P
30619 325.00  390.51  2763 6.94  69.6 17130 789  18600 707.67 2.28;9 Z/ \2 t: H+ A. V! k& E2 k
33282 423.00  474.63  2801 5.73  69.7 17866 894  19886 861.88 2.32;
7 t( k  A( h2 o1 I' M% W33689 467.57  569.55  2887 7.76  69.8 18961 1015 20249 941.99 2.38;2 Q* R0 x7 o" @! Q6 F' ^
41020 538.17  616.25  2920 8.23  69.7 19688 1198 21626 1082.6 2.73;) g) W9 P7 X& D
43344 832.04  686.37  3495 8.87  68.3 24465 1361 23544 1373.4 2.89;
. D) F: A1 z1 d/ ]46030 941.94  788.15  3495 9.57  68.2 24814 1710 24941 1756.5 2.82;
6 i7 P& G: X' z$ C; k& ^2 A/ ]53887 1095.13 969.1   4885 9.65  68.7 36149 2100 25936 2199.5 3.08;
  a& n: r( p  y2 e& L59271 1250.64 1092.6  5376 10.11 69.2 43008 2314 26596 2625.4 3.56;$ b. V. ^/ [! d% q
64507 1437.67 1176.1  6091 15.05 69.2 51946 2500 28494 3229.4 3.98;$ n8 z4 p9 ?: ~2 W7 j" R( t
70597 1671.29 1273.7  7305 16.81 69.2 65745 2614 29628 3744.7 4.98;
6 k! y3 j" V& t! j( O4 y79221 1905.03 1345    8023 18.6  69.1 70346 2798 30063 3792.6 5.1;
( v# c( d9 U. }# O" ]78812 2207.88 927.16  8328 20.52 69.3 71088 2964 30904 3951.64 5.21]';! K6 H6 e$ i( I8 L( [) B3 ]
%为原始目标数据
9 t- Y6 b' q4 ?7 M* lT=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];6 _1 `. e( N: S
%原始数据归一化
9 B  D4 a$ x/ R! C" D[pn,minp,maxp]=premnmx(P);
% g- ^$ `% }* e, a[tn,mint,maxt]=premnmx(T);
' s' z0 R7 e2 W  F%设置网络隐单元的神经元数%建立相应的BP网络
1 o7 _2 m0 @$ R; M& vnet=newff(minmax(pn(:,1:13)),[10,1],{'tansig','purelin'},'trainlm');
3 z8 T. h! q3 w# Y+ ~2 Z%当前输入层权值和阈值
) |3 ?/ F) H  k& B: H$ U' vinputWeights=net.IW{1,1}
9 P" A/ A: W: }inputbias=net.b{1}
! x6 S. B0 y6 R8 e%当前网络层权值和阈值 3 A, _3 ^9 S! j$ v. f' D# Q
layerWeights=net.LW{2,1}
+ V* v, G" S0 `* tlayerbias=net.b{2}7 \- h; b+ N$ D9 H$ ?/ |' ^9 T- K
net=init(net);8 L) `: N* _) |7 [: e" K
% 网络训练代数
2 B1 n) [: O9 Knet.trainParam.epochs=10000;
" I% G- j* F& m: K& |# Q% 网络训练目标误差0 |/ C7 C7 C& ?1 r6 W5 F
net.trainParam.goal=0.000001;* W' Q6 W7 A' {) g: D8 n. w
% 网络训练动量系数
% ]/ g$ e$ ^8 t1 b% y# x6 S- vnet.trainParam.mc = 0.9;   
5 e4 M* D" d! o3 P' ~$ }% l! u: f% 网络学习速率
8 d$ \( |+ ^0 s5 z5 Cnet.trainParam.lr=0.05;
+ U$ ?7 e( L) y%调用TRAINGDM算法训练BP网络
& c+ \, w* B8 |, M& xnet=train(net,pn(:,1:13),tn(1:13));
9 p, K7 X. e" ?) W4 U- H+ r( Lt_sim=sim(net,pn);
  C) V5 L. L, g; O' X+ ot_sim=postmnmx(t_sim,mint,maxt)5 `( T5 B+ _- r% n& Q1 r
E=t_sim-T
( K/ ?3 M. C6 M# _4 U8 ]* fM=sse(E)
% m, G+ r4 X/ ^: W8 s5 ?N=mse(E)
* ~- ]. l3 W+ n) d+ tfigure(1)
, i; h7 G9 y9 m% ]* u- _6 di=1:1:length(t_sim);
0 g  P1 B2 t$ s% A6 B* g1 Nj=1:length(T);' [! U. L) [: P. Y" }. s
plot(i+1995,t_sim,'r',j+1995,T,'bo')* f+ F/ |: u0 D5 ]
legend('模拟数据','原始数据')
* D5 N. t# y: O. i% M( UXlabel('年份');Ylabel('数量')
: C2 Z1 w% O, K5 z$ ctitle('BP神经网络')
作者: 追梦者    时间: 2009-9-5 20:45
看看O(∩_∩)O~
作者: Rosierl    时间: 2009-9-6 17:02
狂谢Ing……
作者: A123J    时间: 2009-11-12 13:16
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!      eeeeeeeee
作者: 泽泽    时间: 2009-11-18 17:23
这个问题我也正想问,你解决了没?
作者: zhuangqg6855    时间: 2010-4-1 16:39
嗯,先看看再说!!!!!!!!!!!!!!!!!!!!
作者: zerodingying    时间: 2012-2-4 15:54
感谢楼主,很不错的说。。。。。
作者: 123水无痕    时间: 2012-2-24 15:46
我也想知道……求高手指点
作者: 0йly_    时间: 2012-8-31 17:48
如果你要预测的话,你可以先输入一个预测的值,P_test=[];out=sim(net,P_test')~~希望对你有用
作者: 0.9清1.8清2.7清    时间: 2012-9-1 18:06
厉害啊!楼主!!!!!牛!
作者: melissa513    时间: 2012-9-18 19:30
看不是很懂啊,感觉自己还没有学到这里呢
作者: 左手边623    时间: 2012-9-19 12:12
//////////////////////////////////
作者: 狼之魂汪洋    时间: 2014-8-5 09:49
楼主威武。。。。。
作者: 月关    时间: 2014-8-6 10:24
看不懂。。。。。
作者: 月关    时间: 2014-8-6 10:24
嗯,先看看再说!!!!!!!!!!!!!!!!!!!!
作者: 月关    时间: 2014-8-6 10:24
嗯,先看看再说!!!!!!!!!!!!!!!!!!!!
作者: 月关    时间: 2014-8-6 10:24
嗯,先看看再说!!!!!!!!!!!!!!!!!!!!
作者: 狼之魂汪洋    时间: 2014-8-6 13:49
楼主的问题最后修改完了么?能不能发一份代码学习学习,现在有也遇到同样的问题了,不知道怎么解决了,求帮助。1345134018@qq.com
作者: 杨辰宇    时间: 2017-8-25 20:33
X和Y大写了
- f9 t1 E% x2 c1 F! \+ q' z. ]




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