MATLAB中的神经网络训练

时间:2011-11-23 09:00:34

标签: neural-network matlab

我正在尝试前馈反向传播但是在网络训练之后,当模拟和打印模拟输出时,我看不到任何靠近目标的值,但它只是一个数字。

代码如下。有什么问题或者问题是什么?

前馈反向传播:

>> load('E:/Inputdata.txt');

>> load('E:/Targetdata.txt');

>> P = Inputdata(1:406,1:3);


>> T = Targetdata(1:406,1);

>> S = Inputdata(407:507,1:3);

>> Y = Targetdata(407:507,1);

>> [pn,minp,maxp,tn,mint,maxt]=premnmx(P',T');

>> [sn,mins,maxs,yn,miny,maxy]=premnmx(S',Y');

>> net =newff(minmax(pn),[5 2 1],{'tansig','tansig','tansig'},'traingdm');

>> net.trainParam.show = 50;

>> net.trainParam.lr = 0.4;

>> net.trainParam.epochs = 3200;

>> net.trainParam.goal = 1e-5;

>> net=train (net,pn,tn);

>> A = sim (net,sn);

>> Z=postmnmx(A',miny,maxy);

>> [Y Z]

75.8810    80.0903
76.5849    80.0903
77.2888    80.0903
77.9927    80.0903
78.6966    80.0903
79.4005    80.0903
80.1044    80.0903
80.8083    80.0903
128.6739   80.0903
129.3778   80.0903
130.0817   80.0903
130.7856   80.0903
131.4895   80.0903
132.1934   80.0903
132.8973   80.0903
133.6012   80.0903

Y是真正的目标,Z是网络输出中的第2列。

此输出不满足它必须做的事情,因为如果我给其他模拟设置所以它是相同的,输出必须接近真实目标。

0 个答案:

没有答案