数学建模社区-数学中国

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

作者: jthawking    时间: 2009-9-1 19:44
标题: BP神经网络预测问题
以下是我写的一段BP神经网络预测的代码,模型建好后,不知怎样预测下一年的T值,哪位高手来指导下...
# g" U. o4 i3 j& H: S% O. O5 A1 |%X为原始输入数据
% [& U0 _1 H8 W& q: y* j6 \, yP=[727000 297.35  327.53  2658 6.31  68.3 15948 737  16316 583.89 1.96;. @8 s' L8 S4 g
30619 325.00  390.51  2763 6.94  69.6 17130 789  18600 707.67 2.28;
2 [1 P0 a# N5 c, i/ X1 p& s/ W6 h33282 423.00  474.63  2801 5.73  69.7 17866 894  19886 861.88 2.32;
2 o# w- i- B; @33689 467.57  569.55  2887 7.76  69.8 18961 1015 20249 941.99 2.38;
2 R, U" t1 |& _% P/ ]. j41020 538.17  616.25  2920 8.23  69.7 19688 1198 21626 1082.6 2.73;+ O) t. q% f7 ~, j5 ?4 I
43344 832.04  686.37  3495 8.87  68.3 24465 1361 23544 1373.4 2.89;8 G$ G; g1 ~( h
46030 941.94  788.15  3495 9.57  68.2 24814 1710 24941 1756.5 2.82;
4 o8 V: i7 _/ `1 }53887 1095.13 969.1   4885 9.65  68.7 36149 2100 25936 2199.5 3.08;
4 B3 Z* Z# p' x8 i) l59271 1250.64 1092.6  5376 10.11 69.2 43008 2314 26596 2625.4 3.56;% Q* U" c/ f1 j: D* b- ~) k0 L
64507 1437.67 1176.1  6091 15.05 69.2 51946 2500 28494 3229.4 3.98;) V- ?) \7 j& r  M
70597 1671.29 1273.7  7305 16.81 69.2 65745 2614 29628 3744.7 4.98;
3 U# o2 I! x' r( A. _79221 1905.03 1345    8023 18.6  69.1 70346 2798 30063 3792.6 5.1;" ~3 u9 P. R  P) {; Y
78812 2207.88 927.16  8328 20.52 69.3 71088 2964 30904 3951.64 5.21]';$ l3 A/ b- ?; p, G) I  `# h
%为原始目标数据
6 q( F. m, V5 u) r1 NT=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];8 d; y/ T0 i. y/ Y( _2 a; Z
%原始数据归一化
5 o0 w) ~4 K4 W: @5 f& g[pn,minp,maxp]=premnmx(P);. f5 f( ~) E& ~' G9 J+ E2 \
[tn,mint,maxt]=premnmx(T);8 X8 j* p3 [2 t$ |  z
%设置网络隐单元的神经元数%建立相应的BP网络* x6 b: o  K# j$ y2 J* t& A  \" c, I! s
net=newff(minmax(pn(:,1:13)),[10,1],{'tansig','purelin'},'trainlm');7 g3 w; U% G. |. |) p5 z* ^
%当前输入层权值和阈值
/ X2 L1 W5 ~1 ]. F- r/ TinputWeights=net.IW{1,1} 4 n0 f6 l6 J- ^0 ?
inputbias=net.b{1} * c# h0 \" a8 W. J( K0 R$ t) M
%当前网络层权值和阈值
8 [. B9 i: j3 J6 v5 GlayerWeights=net.LW{2,1} 7 c$ Q. x* G& q' h
layerbias=net.b{2}, w( B1 L$ l/ x4 ]0 Y! s
net=init(net);
3 }4 t. z) ?$ Q9 M! Q' ]% 网络训练代数
1 L* w( K3 f' d- d2 }; knet.trainParam.epochs=10000;  T; ^4 {# z$ M2 H! w1 [7 r# b; G
% 网络训练目标误差5 y2 p0 W; c3 ]. Q6 q' g. @
net.trainParam.goal=0.000001;
/ z3 X2 v" m* M$ J% 网络训练动量系数
$ O( t; y- q- C: \net.trainParam.mc = 0.9;   4 J( V1 V# d+ ]- g4 g
% 网络学习速率. ^* q/ e' T3 f; h4 V1 g# k
net.trainParam.lr=0.05;4 M# r0 E8 @0 g
%调用TRAINGDM算法训练BP网络1 f! R% F6 W# C$ m$ D$ J
net=train(net,pn(:,1:13),tn(1:13));
3 M; {2 {! y4 ^% st_sim=sim(net,pn);" Q! n  ~5 l3 }$ E
t_sim=postmnmx(t_sim,mint,maxt)
9 \' n. e7 ]4 a$ V9 U# ^E=t_sim-T. r: E3 h' A: N) r0 t" X9 A% W
M=sse(E)+ S/ a8 l5 n: }
N=mse(E)1 q; f* `! Y; F  |
figure(1). Y- e0 `* }7 P* j& c& Z
i=1:1:length(t_sim);5 {; y- V0 `- o8 V0 n8 q, u' M! T
j=1:length(T);
, M* r$ R* G) H% J# G6 V. P$ [plot(i+1995,t_sim,'r',j+1995,T,'bo')
0 ~! p. ?: H# A# K# U' blegend('模拟数据','原始数据')
' x1 a' }7 O: n" }; _! x, W4 [Xlabel('年份');Ylabel('数量')+ t' _5 n5 t; V3 G1 v
title('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大写了2 h. V8 Z+ B8 G) f





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