在线等:我是初学者,第一次用matlab编程,关于bp神经网络的,就是先对数据训练,又预测的。编程的过程中遇到了问题,不知道怎么解决,麻烦大家指点一下,有错的地方告诉我。训练的数据一共是18组,每个样本有3个指标,隐含层是5个节点,输出层是1个节点,预测的数据是5组,我的程序如下:
P=[0.4 0.8 1,0.4 0.6 0.4,0. 0.6 0.8,0.6 0.4 0.6,0.3 0.9 0.1,0.4 0.2 0.8,0.6 0.4 0.5,0.5 0.1 0.6,0.2 0.6 0.3,0.08 0.8 0.2,0.2 1 0.5,0.3 0.3 0.6,0.1 0.6 0.03,0.5 0.7 0.3,0.2 0.8 0.4,0.03 0.4 0.3,1 0.3 0.3,0.1 0 0.3] %请问在matlab里输入18组数据,是这样么?
>> T=[34,41,38,44,30,45,49,47,34,32,36,45,30,43,33,28,48,40] %这是输出层的数据,格式这样,对么?
>> net=newff(minmax(P),[5,1],{'logsig','purelin'},'traingdm');%这里面用的函数对么,尤其是traingdm,对么,还是应该用trainlm?
>> net=init(net);
>> net.trainParam.epochs=10000;
>> net.trainParam.mc=0.60;
>> net.trainParam.lr=0.85;
>> net.trainParam.goal=0.03;
>> [net,tr,Y,E]=train(net,P,T);%这步matlab就给出了下面的问号部分,我不明白什么意思,不会改。
??? Error using ==> network.train
Targets are incorrectly sized for network.
Matrix must have 54 columns.
>>A = sim(net,P);
>>E = T - A;
MSE=mse(E)
>>P_test=[0.3 0.7 0.2,0.2 0.6 0,0 0.4 0.6,0.2 0.5 0.1,0.3 0.6 0.1];
>>out=sim(net,P_test) %就到这里,是完整的么?麻烦大家指点。谢谢。