[求助] BP神经网络lm算法不收敛的原因可能有哪些?万分谢谢
我遇见的问题是达到所定的训练次数,但误差目标还没达到,也就说我的网络不收敛,是什么原因呢?请大家帮忙支招呀.p=xlsread('Book1.xls');
t=xlsread('Book2.xls');
P=p';
T=t';
%输入向量的最大值和最小值
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];
%隐含层神经元个数n2和输入层神经元个数n1之间的关系:n2=2*n1+1,n2=49
net=newff(threshold,[49,4],{'logsig','purelin'},'trainlm');
%训练次数为1000,训练目标为0.01,学习速率为0.1
net.trainParam.epochs=1000;
net.trainParam.goal=0.01;
LP.lr=0.1;
LP.mc=0.9;
net=train(net,P,T);
%测试数据,和训练数据不一致
P_test=[0 0.046377 0.0054705 0.0019608 0.0014203 0.0019631 0.0054773 0.046285 0.046309 0 0.04635 0.0054717 0.0019625 0.0014209 0.0019628 0.0054734 0.0054755 0.046273 0 0.046321 0.0054762 0.0019631 0.0014205 0.0019611
]';
Y=sim(net,P_test)