跪求懂神经网络的大哥进来指点下小弟
我刚学习神经网络,练了个简单的例子:第一年工资1000,第二年2000,第三年3000,第四年4000。。。。。依此类推,样本一直到第10年的10000;我用前三年的做为输入,第四年的作为目标训练;
先将样本归一化,但之后做预测就出现问题了,用第8,9,10年的做输入,预测第11年的结果就不对了,个人觉得应该是后面输入数据归一化的问题,但不知道怎么改。
具体程序如下:
p=[1000,2000,3000,4000,5000,6000,7000;
2000,3000,4000,5000,6000,7000,8000;
3000,4000,5000,6000,7000,8000,9000];
t=;
for i=1:3
P(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));%归一化
end
T=(t-min(t))/(max(t)-min(t));
net=newff(minmax(P),,{'logsig','purelin'},'traingdx')
inputWeights=net.IW{1,1}; % 当前输入层权值和阀值
inputbias=net.b{1};
layerWeights=net.LW{2,1};% 当前网络层权值和阀值
layerbias=net.b{2};
net.trainParam.show=50; % 设置训练参数
net.trainParam.lr=0.05;
net.trainParam.mc=0.9;
net.trainParam.epochs=7000;
net.trainParam.goal=1e-3;
=train(net,P,T);
y=[8000 9000 10000;
9000 10000 11000;
10000 11000 12000;];
for i=1:3
y(i,:)=(y(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));
end
x=sim(net,y);
页:
[1]