数学建模社区-数学中国
标题:
BP神经网络预测问题
[打印本页]
作者:
jthawking
时间:
2009-9-1 19:44
标题:
BP神经网络预测问题
以下是我写的一段BP神经网络预测的代码,模型建好后,不知怎样预测下一年的T值,哪位高手来指导下...
Y* f$ g. M/ C+ q3 X. `
%X为原始输入数据
5 D3 L1 h/ U S+ ~6 U: N: p
P=[727000 297.35 327.53 2658 6.31 68.3 15948 737 16316 583.89 1.96;
4 J# J+ C$ f& z% O! x( \
30619 325.00 390.51 2763 6.94 69.6 17130 789 18600 707.67 2.28;
/ k) H* K5 m/ O1 U, Z( O
33282 423.00 474.63 2801 5.73 69.7 17866 894 19886 861.88 2.32;
# {7 N$ F* l8 Z* z( t7 Y
33689 467.57 569.55 2887 7.76 69.8 18961 1015 20249 941.99 2.38;
) ^+ o3 j! _0 Q, l3 J C
41020 538.17 616.25 2920 8.23 69.7 19688 1198 21626 1082.6 2.73;
% ^/ X% v d. p- u
43344 832.04 686.37 3495 8.87 68.3 24465 1361 23544 1373.4 2.89;
( H* O- ~1 [( c* D
46030 941.94 788.15 3495 9.57 68.2 24814 1710 24941 1756.5 2.82;
8 A4 U* O; _- ^1 f! g6 Y9 r% I
53887 1095.13 969.1 4885 9.65 68.7 36149 2100 25936 2199.5 3.08;
5 d& [% y: U: g d4 C: X& Y; s
59271 1250.64 1092.6 5376 10.11 69.2 43008 2314 26596 2625.4 3.56;
* S% e( f* j; n" T/ \& e. w
64507 1437.67 1176.1 6091 15.05 69.2 51946 2500 28494 3229.4 3.98;
d# [; }4 o0 m& x
70597 1671.29 1273.7 7305 16.81 69.2 65745 2614 29628 3744.7 4.98;
; ^* B, k2 d: W! u
79221 1905.03 1345 8023 18.6 69.1 70346 2798 30063 3792.6 5.1;
0 |' z8 [+ G: ~0 e" T: }
78812 2207.88 927.16 8328 20.52 69.3 71088 2964 30904 3951.64 5.21]';
' B0 b7 M* E" i. u' B9 [
%为原始目标数据
/ E: g' n$ f1 W5 n2 P; ]
T=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];
$ t) k. @% Q8 D H- ]! ^
%原始数据归一化
) I* d9 Q1 m! u" Z$ Q( W
[pn,minp,maxp]=premnmx(P);
6 r/ ~( R2 z" a# t
[tn,mint,maxt]=premnmx(T);
: I% T0 _1 [8 w, Q+ X+ s m1 N4 J0 n# E
%设置网络隐单元的神经元数%建立相应的BP网络
8 v' p6 d. ?; G: t& W8 ]+ V$ {. O
net=newff(minmax(pn(:,1:13)),[10,1],{'tansig','purelin'},'trainlm');
$ O: ]/ v9 e8 Y; c: X4 M# {
%当前输入层权值和阈值
* i- {( r& B- }# c/ T/ C. o9 t1 U
inputWeights=net.IW{1,1}
0 x8 c# d! N. |- M4 E
inputbias=net.b{1}
0 I0 z# W3 Y# t; B
%当前网络层权值和阈值
3 p6 z- ~7 F" q8 C
layerWeights=net.LW{2,1}
+ k8 y$ m" N0 c8 x2 @1 \. u, D
layerbias=net.b{2}
, U; S/ D" }) `* r
net=init(net);
: }( v* e; j# u; a7 U, |5 Y" g
% 网络训练代数
: H! F8 d0 s9 Q. s2 X; n
net.trainParam.epochs=10000;
8 z' L6 Z2 k% q) V5 \8 R% K
% 网络训练目标误差
; v0 S* `' e" U/ T+ F
net.trainParam.goal=0.000001;
, |8 s4 ^# K) \' i) G5 n" ]) z( W
% 网络训练动量系数
3 Z7 U3 @& s( [) F+ }# d5 U) a- Y
net.trainParam.mc = 0.9;
5 p/ J3 v6 z, {% l7 ]6 N
% 网络学习速率
, t# y! t, G1 `4 C6 q
net.trainParam.lr=0.05;
3 W% } {- \0 W; ?$ k6 _6 g5 T
%调用TRAINGDM算法训练BP网络
6 z& N. z- {/ F0 @1 R( ]& V7 R) Z
net=train(net,pn(:,1:13),tn(1:13));
+ Z% N$ c# T; z( x: F
t_sim=sim(net,pn);
# h9 v" |% W7 J9 M/ x* x
t_sim=postmnmx(t_sim,mint,maxt)
: S. h# f5 ~0 p; @ S
E=t_sim-T
! ]; h/ w! g; T6 S9 Q
M=sse(E)
; F* ~' R8 `. O% A) R
N=mse(E)
q; |1 B9 }4 Y' Y. W0 w- r
figure(1)
3 i) I* V: e1 Y4 W+ o. Q
i=1:1:length(t_sim);
7 N: g) P2 R0 g" S0 |
j=1:length(T);
& t! [1 L+ d, D) A/ V
plot(i+1995,t_sim,'r',j+1995,T,'bo')
/ E9 {. ]4 Y7 u
legend('模拟数据','原始数据')
5 m' m L( H6 F# W0 L4 \& l
Xlabel('年份');Ylabel('数量')
- G: |- U7 X- m5 i
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大写了
- ]: @" e* L0 @ B4 |3 y) ?4 u
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5