数学建模社区-数学中国

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

作者: jthawking    时间: 2009-9-1 19:44
标题: BP神经网络预测问题
以下是我写的一段BP神经网络预测的代码,模型建好后,不知怎样预测下一年的T值,哪位高手来指导下...' R4 v. G, {: D9 ~! [. F8 ^
%X为原始输入数据/ k! b' m* l- Y" _, S. a& @
P=[727000 297.35  327.53  2658 6.31  68.3 15948 737  16316 583.89 1.96;
$ M) W3 }  k  {- k" y8 C30619 325.00  390.51  2763 6.94  69.6 17130 789  18600 707.67 2.28;3 l6 f1 a' b) e. C2 y" O* A
33282 423.00  474.63  2801 5.73  69.7 17866 894  19886 861.88 2.32;
7 e* x8 X1 Z7 L33689 467.57  569.55  2887 7.76  69.8 18961 1015 20249 941.99 2.38;
% z5 `' O$ `0 k' J* w2 W41020 538.17  616.25  2920 8.23  69.7 19688 1198 21626 1082.6 2.73;% e* D) z  D" R
43344 832.04  686.37  3495 8.87  68.3 24465 1361 23544 1373.4 2.89;- V- l. o: B3 Z2 W0 R2 f
46030 941.94  788.15  3495 9.57  68.2 24814 1710 24941 1756.5 2.82;& w) v$ K1 o: G, Z: |7 V. l* o/ j
53887 1095.13 969.1   4885 9.65  68.7 36149 2100 25936 2199.5 3.08;
( {2 r$ ~" d1 x" ]9 f59271 1250.64 1092.6  5376 10.11 69.2 43008 2314 26596 2625.4 3.56;" O( R# t* m1 W+ g& C! H* G
64507 1437.67 1176.1  6091 15.05 69.2 51946 2500 28494 3229.4 3.98;
! S! O2 r$ n" x9 ^70597 1671.29 1273.7  7305 16.81 69.2 65745 2614 29628 3744.7 4.98;
5 f  m5 G4 ?) s. y0 Q4 E* t' |79221 1905.03 1345    8023 18.6  69.1 70346 2798 30063 3792.6 5.1;
- Q# z' G0 e7 F, j78812 2207.88 927.16  8328 20.52 69.3 71088 2964 30904 3951.64 5.21]';
4 D1 k* O( ~& ^/ N9 s6 ?( T%为原始目标数据
! \) y. _, Z3 O. e7 yT=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];
4 |7 p; W4 o' l6 m, K7 e%原始数据归一化
5 \- n  L$ l: I/ v1 ^- w- r7 i  F[pn,minp,maxp]=premnmx(P);
5 X5 _1 f0 N% i8 ?1 Q[tn,mint,maxt]=premnmx(T);
$ I3 z* I" e, \- f%设置网络隐单元的神经元数%建立相应的BP网络! `( D! s1 ~' S; J0 Z4 }+ T3 ?
net=newff(minmax(pn(:,1:13)),[10,1],{'tansig','purelin'},'trainlm');9 S, a6 f& z- ?$ R4 K& S7 D
%当前输入层权值和阈值
* t5 e+ k0 ?# x) w* b, u8 GinputWeights=net.IW{1,1} 0 G. G, z' T- y4 ?) r
inputbias=net.b{1} + I! y2 D4 W  ^7 p+ u3 q. u. d( c  Z
%当前网络层权值和阈值 ! \- [) e# g5 @( o, x
layerWeights=net.LW{2,1}
2 E% i& P$ T; g$ @layerbias=net.b{2}; H; g2 }% A" P1 L
net=init(net);
  w" z" F) y: X8 s7 n' C+ L* }6 r% 网络训练代数/ o" y' v5 o" \7 C" Q0 z6 k
net.trainParam.epochs=10000;! {3 s2 v) p  a% v) L4 p- _
% 网络训练目标误差
! w5 N& b# Z7 {4 R% }  Q1 Qnet.trainParam.goal=0.000001;
! t8 T! S7 {( d/ E3 C% 网络训练动量系数$ O4 n8 X, r) `
net.trainParam.mc = 0.9;   
0 H# G" g1 p7 C* u; G* t( n$ D8 C% 网络学习速率
. [/ N! r- P  F& s& rnet.trainParam.lr=0.05;; v( b1 O+ V" l
%调用TRAINGDM算法训练BP网络
9 ?  ~+ n/ o/ u3 a  n/ z9 Nnet=train(net,pn(:,1:13),tn(1:13));0 u" Q% ^& V4 r
t_sim=sim(net,pn);
$ I. p" m1 G. K, N# Z; Ut_sim=postmnmx(t_sim,mint,maxt)
0 X8 M: R6 `, Z# X' I* N8 g* K- q% pE=t_sim-T. v; @( T# Q8 r/ T7 f) N# W
M=sse(E)( Y( U6 s) {4 R/ ]  V
N=mse(E)
( D0 r1 D2 o# ]- X0 @2 f4 W" z$ Pfigure(1)
. F# O$ j/ v) C3 J5 {- xi=1:1:length(t_sim);9 T. J! [- K# i. L9 p
j=1:length(T);
1 T) o. S) W9 X, Jplot(i+1995,t_sim,'r',j+1995,T,'bo')/ p1 J0 ^, S; @  @  e
legend('模拟数据','原始数据')1 _# @; m1 t. J: X
Xlabel('年份');Ylabel('数量')) |' C0 z  d' g, L
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大写了
1 ]% H/ b1 M$ q




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