[求助] BP神经网络lm算法不收敛的原因可能有哪些?万分谢谢
[em08] 我遇见的问题是达到所定的训练次数,但误差目标还没达到,也就说我的网络不收敛,是什么原因呢?请大家帮忙支招呀.<BR>p=xlsread('Book1.xls');<BR>t=xlsread('Book2.xls');<BR>P=p';<BR>T=t';<BR>%输入向量的最大值和最小值<BR>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];<BR>%隐含层神经元个数n2和输入层神经元个数n1之间的关系:n2=2*n1+1,n2=49<BR>net=newff(threshold,[49,4],{'logsig','purelin'},'trainlm');<BR>%训练次数为1000,训练目标为0.01,学习速率为0.1<BR>net.trainParam.epochs=1000;<BR>net.trainParam.goal=0.01;<BR>LP.lr=0.1;<BR>LP.mc=0.9;<BR>net=train(net,P,T);<BR>%测试数据,和训练数据不一致<BR>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<BR>]';<BR>Y=sim(net,P_test)<BR><BR> 怎么没有人回复一下呀,拜托大家帮帮忙 隐层神经元的选取,数据的归一化都可能导致不收敛,自己检查下 隐含层神经元太多了吧页:
[1]
