数学建模社区-数学中国
标题:
跪求懂神经网络的大哥进来指点下小弟
[打印本页]
作者:
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' l
for i=1:3
: j5 C$ h0 T5 S+ Z1 {. x$ l
P(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' w
T=(t-min(t))/(max(t)-min(t));
! k/ S1 m- L% D) m9 Y6 ]0 N( E/ k
net=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; P
layerWeights=net.LW{2,1};% 当前网络层权值和阀值
& C% J! d6 c/ S( J
layerbias=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* G
net.trainParam.mc=0.9;
) H# U& y% G/ I2 E* E, l: ?
net.trainParam.epochs=7000;
9 E# t& T; Q! |4 \$ w
net.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 N
for 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& b
x=sim(net,y);
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5