matlab中神经网络工具箱中的bp算法,为什么总是出现nan警告??
各位大虾,我用matlab中的神经网络工具箱,把一些训练数据和测试数据放到里面,用bp算法来算,可是一直出现很多的nan警告,而且好像是陷入死循环一样,算法是不是对处理的训练数据有特殊要求???
function [simout,simt,mytime]=bplm(train,test)
[m n]=size(train);
p=train(:,1:n-2)';%输入数据
t=train(:,n-1:n)';%期望输出
s1=9; %隐层个输
[w1,b1,w2,b2]=initff(p,s1,'tansig',t,'purelin');%初始化bp网络
df=10;%显示频率
me=800;%
eg=0.01;
tp=[df me eg];
time=cputime;
[w1,b1,w2,b2,ep,tr]=trainlm(w1,b1,'tansig',w2,b2,'purelin',p,t,tp);%训练bp网络
mytime=cputime-time;
simp=test(:,1:n-2)';%仿真输入
simout=simuff(simp,w1,b1,'tansig',w2,b2,'purelin');%测试网络输出
simt=test(:,n-1:n)';%测试数据的期望输出
这是我调用它自带的函数,可是运行的时候,就出现很多警告,而且算得很慢
有人告诉我是不是原始数据中0太多,是不是有这样的要求??
请高手指教,非常感谢!!!