小波神经网络不收敛问题
新手上路,写了小波神经网络,结果不收敛,请教各位大人:1.设计的小波神经网络是 12个输入,11个隐层节点 ,1个输出节点....问.这样设计是否合理.
2.初始值的设置,怎么选取比较优?
4.选取MORLET小波作为隐层节点.即COS(1.75t)*e^((-0.5)*(t^2)).
3.参数的修改,采用共轭梯度算法.这里有些问题请问大家.
for i10=1:YCJD %隐层节点数目
hw(i10)=0;
ha(i10)=0;
hb(i10)=0;
for i11=1:rnd %训练样本数目
A1=1.75*z(i10,i11);
B1= exp(-0.5*(z(i10,i11)^2));
hw(i10)=hw(i10)+err0(i11)*cos(A1)*B1; %请问,ERR0前面是正号还是负号?参考两个资料,前面的符号相反
ha(i10)=ha(i10)-err0(i11)*w(i10)*z(i10,i11)*(1/a0(i10))*((1.75*sin(A1))+z(i10,i11)*cos(A1))*B1;
hb(i10)=hb(i10)-err0(i11)*w(i10)*(1/a0(i10))*((1.75*sin(A1))+z(i10,i11)*cos(A1))*B1; %%%%括号的位置
end
end
%fprintf(1,'%f\n',ha);
if (i6==1)
sa=(-1)*ha;
sb=(-1)*hb;
sw=(-1)*hw;
ha1=ha;
hb1=hb;
hw1=hw;
%%%%%%%%%%矩阵大小匹配问题
else
sa=(-1)*ha+((ha*ha')/(ha1*ha1'))*sa; %共轭梯度算法.这里的公式是否正确?
sb=(-1)*hb+((hb*hb')/(hb1*hb1'))*sb;
sw=(-1)*hw+((hw*hw')/(hw1*hw1'))*sw;
ha1=ha;
hb1=hb;
hw1=hw;
end
a0=a0+ra*sa;
b0=b0+rb*sb;
w=w+rw*sw; 这个问题可以去matlab板块问问,帮你顶一下了!
页:
[1]