数学建模社区-数学中国

标题: 跪求懂神经网络的大哥进来指点下小弟 [打印本页]

作者: yqxxqy    时间: 2009-9-2 16:00
标题: 跪求懂神经网络的大哥进来指点下小弟
我刚学习神经网络,练了个简单的例子:第一年工资1000,第二年2000,第三年3000,第四年4000。。。。。依此类推,样本一直到第10年的10000;
% ~' d# ~5 n, _2 z& |6 }" Z4 o$ ]我用前三年的做为输入,第四年的作为目标训练;& n, c* S4 A2 ?2 H0 t# r5 a, a+ P
先将样本归一化,但之后做预测就出现问题了,用第8,9,10年的做输入,预测第11年的结果就不对了,个人觉得应该是后面输入数据归一化的问题,但不知道怎么改。
' f0 o; D6 ^& ~4 J0 x2 W, B+ g' V" w具体程序如下:, l8 E1 \. o& g) j3 [8 r4 n. s
p=[1000,2000,3000,4000,5000,6000,7000;
( N* W: l' ]# `. W    2000,3000,4000,5000,6000,7000,8000;
+ f/ K) f0 w/ @5 p4 Q; N    3000,4000,5000,6000,7000,8000,9000];. t% {- _0 E0 ~
t=[4000,5000,6000,7000,8000,9000,10000];
6 T) I( \4 Y3 A5 a7 ?( |' L' lfor i=1:3
: j5 C$ h0 T5 S+ Z1 {. x$ lP(i,=(p(i,-min(p(i,))/(max(p(i,)-min(p(i,));%归一化; L4 @5 D5 k/ y5 M" ~. d5 F4 T" \
end
. n! m6 o$ O) }% X% Y( S- q: L( x' wT=(t-min(t))/(max(t)-min(t));
! k/ S1 m- L% D) m9 Y6 ]0 N( E/ knet=newff(minmax(P),[3,1],{'logsig','purelin'},'traingdx') 1 B$ h& s* Z. x5 y: @4 \. ^. ]
inputWeights=net.IW{1,1}; %  当前输入层权值和阀值
$ w& j& Y( v& {inputbias=net.b{1};
* l1 C4 U3 f! X# G0 w; PlayerWeights=net.LW{2,1};%  当前网络层权值和阀值
& C% J! d6 c/ S( Jlayerbias=net.b{2};* h% J. o  J$ T  V$ P- g4 h$ W
net.trainParam.show=50; %  设置训练参数                         * `# p4 b4 P9 [) M3 T2 g
net.trainParam.lr=0.05;
  e' d; s' G' I8 G9 z! n) o* Gnet.trainParam.mc=0.9; ) H# U& y% G/ I2 E* E, l: ?
net.trainParam.epochs=7000;
9 E# t& T; Q! |4 \$ wnet.trainParam.goal=1e-3; & q/ U6 e, g7 }, K) e6 j0 b6 ?: [
[net,tr]=train(net,P,T);' d4 \( ~5 M" I" W, c7 W
y=[8000 9000 10000;
7 d$ {/ M0 L+ j/ V8 N+ c    9000 10000 11000;3 e6 w6 v; y. [# h# i! p# P1 D
    10000 11000 12000;];
% O" {) k& v5 m. S1 Nfor i=1:3: S  t! w/ ?; u" d% v, |
y(i,=(y(i,-min(p(i,))/(max(p(i,)-min(p(i,));% a# l2 K" S6 C/ {# P" o% J1 y8 h, H
end
  j! g5 u" b8 ^2 k& bx=sim(net,y);




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