我的數據集包括29個輸入和6個輸出。當我使用爲什麼newff()在我使用它的參數時無法正常工作!
net = newff(minmax(Pl),[14 12 8 6]);
建立我的前饋MLP網絡和
net.trainParam.epochs=50;
net=train(net,Pl,Tl);
網絡訓練它不能學我的數據集和其誤差不會降低0.7以下,但是當我使用newff函數的參數是這樣的:
net=newff(minmax(Pl),[14 12 8 6],{'tansig' 'tansig' 'tansig' 'purelin'},'trainlm');
錯誤減少得非常快,它低於0.0001!不尋常的注意的是,當我只使用一個層,包括2個神經元使用以前的代碼:
net=newff(minmax(Pl),[2 6],{'tansig' 'purelin'},'trainlm');
的誤差低於0.2再次下降,這是值得懷疑! 請給我一些建議,幫助我知道什麼是區別:
net = newff(minmax(Pl),[14 12 8 6]);
和
net=newff(minmax(Pl),[14 12 8 myANN.m],{'tansig' 'tansig' 'tansig' 'purelin'},'trainlm');
?
您正在使用什麼版本的MATLAB?另外,不要使用這麼多的隱藏層。你需要一個,也許兩個。跨多層的Backprop不能很好地工作。 – kwatford
你的輸入/目標數據的維度是什麼? – Amro