小波神经网络程序

小波神经网络程序

ID:11497845

大小:26.50 KB

页数:3页

时间:2018-07-12

小波神经网络程序_第1页
小波神经网络程序_第2页
小波神经网络程序_第3页
资源描述:

《小波神经网络程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、这是一个小波神经网络程序,作者judyever%参考<青岛海洋大学学报>2001年第1期一种基于BP算法学习的小波神经网络%%%step1--------网络初始化-------------------------------------------clc;clearall;%设定期望的误差最小值err_goal=0.001;%设定最大循环次数max_epoch=50;%设定修正权值的学习速率0.01-0.7lr=0.7;epoch=0;x=0:0.01:0.3;%输入时间序列d=sin(8*pi*x)+sin

2、(16*pi*x);%目标输出序列M=size(x,2);%输入节点的个数N=M;%输出节点的个数n=10;%隐形节点的个数%这个地方需要改进,由于实际上隐形节点的个数可以通过小波的时频分析确定Wjk=randn(n,M);Wij=randn(N,n);%a=randn(1,n);a=1:1:n;b=randn(1,n);%stepa=0.2*(x(M)-x(1));%a=stepa(n-1)+stepa;%step=(x(M)-x(1))/n;%b=x(1)+step:step:x(1)+n*step;%y=

3、zeros(1,N);%输出节点初始化y=zeros(1,N);%输出节点初始化net=zeros(1,n);%隐形节点初始化net_ab=zeros(1,n);%隐形节点初始化%step2--------对网络进行训练-------------------------------------------fori=1:1:Nforj=1:1:nfork=1:1:Mnet(j)=net(j)+Wjk(j,k)*x(k);net_ab(j)=(net(j)-b(j))/a(j);endy(i)=y(i)+Wij(i

4、,j)*mymorlet(net_ab(j));%mymorlet是judyever编写的小波函数,以后可以扩展成输入不同的小波名字即可%y(i)=mysigmoid(2,y(i));endend%plot(x,d,'r',x,y);%title('训练前的目标序列和实际输出序列');err=d-y;SSE=err*err';%step3--------调整各个参数-------------------------------------------while(SSE>err_goal&epoch

5、och)d_Wjk=zeros(n,M);d_Wij=zeros(N,n);d_a=zeros(1,n);d_b=zeros(1,n);fori=1:1:Nforj=1:1:nd_Wij(i,j)=-(d(i)-y(i))*mymorlet(net_ab(j));%调整d_Wij(i,j)fork=1:1:Md_Wjk(j,k)=d_Wjk(j,k)+(d(i)-y(i))*Wij(i,j);%计算还没有结束d_Wjk(j,k)=-d_Wjk(j,k)*d_mymorlet(net_ab(j))*x(k)/a(

6、j);%计算结束end%调整d_Wjk(j,k)d_b(j)=d_b(j)+(d(i)-y(i))*Wij(i,j);%计算还没有结束d_b(j)=d_b(j)*d_mymorlet(net_ab(j))/a(j);%计算结束%调整d_b(j)d_a(j)=d_a(j)+(d(i)-y(i))*Wij(i,j);%计算还没有结束d_a(j)=d_a(j)*d_mymorlet(net_ab(j))*((net(j)-b(j))/b(j))/a(j);%计算结束%调整d_a(j)endend%step4-----

7、---网络重新计算-------------------------------------------Wij=Wij-lr*d_Wij;Wjk=Wjk-lr*d_Wjk;b=b-lr*d_b;a=a-lr*d_a;%修正各个权值y=zeros(1,N);%输出节点初始化net=zeros(1,n);%隐形节点初始化net_ab=zeros(1,n);%隐形节点初始化fori=1:1:Nforj=1:1:nfork=1:1:Mnet(j)=net(j)+Wjk(j,k)*x(k);net_ab(j)=(net(

8、j)-b(j))/a(j);endy(i)=y(i)+Wij(i,j)*mymorlet(net_ab(j));%mymorlet是judyever编写的小波函数,以后可以扩展成输入不同的小波名字即可%y(i)=mysigmoid(2,y(i));endendepoch=epoch+1;err=d-y;SSE=err*err'/M;[epochSSE]end%step5--------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。