数学建模社区-数学中国

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

作者: jthawking    时间: 2009-9-1 19:44
标题: BP神经网络预测问题
以下是我写的一段BP神经网络预测的代码,模型建好后,不知怎样预测下一年的T值,哪位高手来指导下...
# W  S6 M) T' v9 Q- {- d) \5 Y) e%X为原始输入数据
! v! q1 i) @4 {. wP=[727000 297.35  327.53  2658 6.31  68.3 15948 737  16316 583.89 1.96;; t8 i$ x' |6 f$ P! G. }! ]8 `: z
30619 325.00  390.51  2763 6.94  69.6 17130 789  18600 707.67 2.28;0 k# @6 |6 g! A$ o7 T8 d5 G
33282 423.00  474.63  2801 5.73  69.7 17866 894  19886 861.88 2.32;* {# X) N" m1 o5 ~+ ?! T
33689 467.57  569.55  2887 7.76  69.8 18961 1015 20249 941.99 2.38;" }2 K8 W- r0 i- c5 W
41020 538.17  616.25  2920 8.23  69.7 19688 1198 21626 1082.6 2.73;  M$ s, [' a! {% c
43344 832.04  686.37  3495 8.87  68.3 24465 1361 23544 1373.4 2.89;7 ^8 ^) u! E- g  M% s
46030 941.94  788.15  3495 9.57  68.2 24814 1710 24941 1756.5 2.82;
' c$ N& w- L" }+ e. c1 j$ e5 I( i53887 1095.13 969.1   4885 9.65  68.7 36149 2100 25936 2199.5 3.08;
2 `' y" g2 _" F$ L( C6 f59271 1250.64 1092.6  5376 10.11 69.2 43008 2314 26596 2625.4 3.56;
( y* ~" V# E6 A64507 1437.67 1176.1  6091 15.05 69.2 51946 2500 28494 3229.4 3.98;
  E6 Z$ A) V- K) [  n. G# {9 I6 p70597 1671.29 1273.7  7305 16.81 69.2 65745 2614 29628 3744.7 4.98;
6 o& w- m6 V% X79221 1905.03 1345    8023 18.6  69.1 70346 2798 30063 3792.6 5.1;% S/ s+ ^, h4 i9 A- ~
78812 2207.88 927.16  8328 20.52 69.3 71088 2964 30904 3951.64 5.21]';
+ l) `- R" Z) r( P% {% y* _%为原始目标数据# u' _4 J0 U8 _9 {7 \, E
T=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];
6 S2 r0 y8 P0 N4 c. H%原始数据归一化
0 y. P% Q4 m1 [& Q4 Z# q9 J# u[pn,minp,maxp]=premnmx(P);7 V  Y3 u1 Q: J3 t2 J' f
[tn,mint,maxt]=premnmx(T);
, R/ M* H+ t6 U5 V%设置网络隐单元的神经元数%建立相应的BP网络. T1 K/ K! m; j% ^
net=newff(minmax(pn(:,1:13)),[10,1],{'tansig','purelin'},'trainlm');
9 R/ G. F  h6 ]3 W. K+ \" d%当前输入层权值和阈值
2 y; W* b" B3 T6 \6 I8 ~) u" CinputWeights=net.IW{1,1}
1 _3 j0 B, B3 I1 L% R9 R3 ]  Oinputbias=net.b{1} 6 N7 O3 l) N5 k$ k- J, A, B# B
%当前网络层权值和阈值
  Q5 ~9 A. K7 d. ]$ x1 P/ i. blayerWeights=net.LW{2,1} ; O1 G' N: l' V) w
layerbias=net.b{2}0 f2 o4 @6 R8 k, z/ W
net=init(net);+ F$ H' X. b' }( ]% o9 I
% 网络训练代数
/ [0 e. o* `5 T, `/ y. Snet.trainParam.epochs=10000;
) x/ `% d  q& b' X, l: c4 V3 L% 网络训练目标误差
4 @2 Y: n; ~" s6 L. {( s- f, Qnet.trainParam.goal=0.000001;! m/ T# J* a5 D
% 网络训练动量系数; R7 |" l( Q& V6 Q" [
net.trainParam.mc = 0.9;   ; [9 x: t% w9 r
% 网络学习速率4 d8 Z4 p/ I% S! f  I
net.trainParam.lr=0.05;- Y. H. q! K4 l3 E
%调用TRAINGDM算法训练BP网络! B) z# ?  [1 J" S$ i
net=train(net,pn(:,1:13),tn(1:13));
& W4 r: |9 ~- S8 d  y# e! Bt_sim=sim(net,pn);! u* }. E" X. P! i# B
t_sim=postmnmx(t_sim,mint,maxt)
3 [8 D/ d/ v3 z& M6 `8 o/ C3 N) t' [E=t_sim-T5 V: t; @  ]0 l& j( k
M=sse(E)+ N, `1 q; h+ T
N=mse(E)
6 E  d- s+ b. hfigure(1)" Z' K) l5 z; @6 U8 V# [
i=1:1:length(t_sim);
5 _2 b, D9 v) D  n/ n: C* R( }j=1:length(T);
4 Y( R! U! |% m9 e0 tplot(i+1995,t_sim,'r',j+1995,T,'bo')) ?7 P1 Z6 Z5 F& o4 p3 H# d
legend('模拟数据','原始数据')
  ^* j' V- W) s" w! DXlabel('年份');Ylabel('数量')
+ L: q. ^6 K# Y! D2 stitle('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大写了0 d' Z8 P0 t) i





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