数学建模社区-数学中国

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

作者: jthawking    时间: 2009-9-1 19:44
标题: BP神经网络预测问题
以下是我写的一段BP神经网络预测的代码,模型建好后,不知怎样预测下一年的T值,哪位高手来指导下...* Y& @1 C7 n8 w8 i+ @# m
%X为原始输入数据
& S0 U! ^3 M0 a5 S1 ?/ K) H/ ]+ oP=[727000 297.35  327.53  2658 6.31  68.3 15948 737  16316 583.89 1.96;
2 ?, y1 I/ G- R9 m: q30619 325.00  390.51  2763 6.94  69.6 17130 789  18600 707.67 2.28;) r" f, \7 V" t" c! D# N) Q* u6 f
33282 423.00  474.63  2801 5.73  69.7 17866 894  19886 861.88 2.32;
( |0 U: P. o) B: \4 }/ H33689 467.57  569.55  2887 7.76  69.8 18961 1015 20249 941.99 2.38;
; ~7 y/ f7 R7 \) g3 q+ n, Y1 ^41020 538.17  616.25  2920 8.23  69.7 19688 1198 21626 1082.6 2.73;) c4 y7 j" J3 {" ~. l, X% i
43344 832.04  686.37  3495 8.87  68.3 24465 1361 23544 1373.4 2.89;! S  q* {  y4 c) ~* _. R( }8 p
46030 941.94  788.15  3495 9.57  68.2 24814 1710 24941 1756.5 2.82;! ~* Q  p! _5 S# e
53887 1095.13 969.1   4885 9.65  68.7 36149 2100 25936 2199.5 3.08;* h$ n/ Y% U/ g" H; \; @1 t0 S8 L0 i
59271 1250.64 1092.6  5376 10.11 69.2 43008 2314 26596 2625.4 3.56;
. P* R& S/ F9 G/ m1 o  i! E% M# ]64507 1437.67 1176.1  6091 15.05 69.2 51946 2500 28494 3229.4 3.98;: `2 d8 F  ~" m* O. N. |& r* K
70597 1671.29 1273.7  7305 16.81 69.2 65745 2614 29628 3744.7 4.98;9 r: k1 c& ]( X
79221 1905.03 1345    8023 18.6  69.1 70346 2798 30063 3792.6 5.1;
0 H% H0 ^/ |; R2 Q, }* {1 e78812 2207.88 927.16  8328 20.52 69.3 71088 2964 30904 3951.64 5.21]';9 ]8 Z  o" F$ {% R& K, I
%为原始目标数据2 w, e0 i8 o4 {; R" k
T=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];+ M7 E8 p" N8 K- K
%原始数据归一化
8 p+ B  T) n5 F, N[pn,minp,maxp]=premnmx(P);1 I0 j+ g1 n' p4 J2 I. }; k
[tn,mint,maxt]=premnmx(T);3 o0 [5 ?( m  ^' N0 j
%设置网络隐单元的神经元数%建立相应的BP网络
- D# [' I! X: X5 Jnet=newff(minmax(pn(:,1:13)),[10,1],{'tansig','purelin'},'trainlm');
# U9 F- m+ e! \# V/ @%当前输入层权值和阈值 , |( U9 R7 f& F" n7 }$ Y' W3 e+ [
inputWeights=net.IW{1,1}
) ?4 r) ~' h8 i5 s4 E  t9 V. ?+ jinputbias=net.b{1}
) ?# |  ~; d4 ?4 f2 V3 F+ \" E%当前网络层权值和阈值
6 f8 }  y2 z: U$ v. V  BlayerWeights=net.LW{2,1}
% A0 A$ e- |" W. L! t: Xlayerbias=net.b{2}5 |8 B7 c# O( g* V. A. o! \* F
net=init(net);2 h* z. i) e2 P0 R7 U! N6 V
% 网络训练代数
" W* w0 ?+ I- M5 S2 i0 snet.trainParam.epochs=10000;
4 S" O( T4 M3 I' Q4 v% 网络训练目标误差, N' U) b6 V, C+ R
net.trainParam.goal=0.000001;
) e! D( d! }0 Q! O% 网络训练动量系数: t  n  K* M9 ~
net.trainParam.mc = 0.9;   9 B8 r: N9 z7 ?7 h
% 网络学习速率
& O' d( Z: E0 r/ A9 \3 L7 S) W/ \net.trainParam.lr=0.05;
& S; S8 k! T% O! S, I! A* D%调用TRAINGDM算法训练BP网络. T* |# L7 b4 f& V7 t& V7 Z  i
net=train(net,pn(:,1:13),tn(1:13));
% `: U5 G, x  M# b, nt_sim=sim(net,pn);& [# s1 _2 K  `  B" r
t_sim=postmnmx(t_sim,mint,maxt)
) O0 Q" g' p$ ?4 o9 e/ jE=t_sim-T# W+ P, Y# X8 m. k/ G* f9 e5 `) o
M=sse(E), \7 [+ Q" }6 N+ k; W. `
N=mse(E)' [2 Z8 B7 w! [$ E5 b3 p* R9 L
figure(1)% u* H, [6 h$ a. Q
i=1:1:length(t_sim);
( M0 T/ l0 w! e- a  I: Cj=1:length(T);
8 e5 A6 ^4 {8 B; B; P; k' Kplot(i+1995,t_sim,'r',j+1995,T,'bo')( Z, H0 Q& T* S! A+ r; G* e7 l
legend('模拟数据','原始数据')$ |$ r; Q! N) j
Xlabel('年份');Ylabel('数量')4 Y' J2 r" Q6 l* c0 z  u
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大写了
3 G9 `2 e2 h8 L) I: u) t6 c3 S




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