資源簡介
完整可直接運行的小波神經網絡程序,有注釋,很容易看懂
代碼片段和文件信息
%%?清空環境變量
clc
clear
%%?網絡參數配置
load?traffic_flux?input?output?input_test?output_test
M=size(input2);?
N=size(output2);?
n=6;?
lr1=0.01;?
lr2=0.001;?
maxgen=100;?
%權值初始化
Wjk=randn(nM);Wjk_1=Wjk;Wjk_2=Wjk_1;
Wij=randn(Nn);Wij_1=Wij;Wij_2=Wij_1;
a=randn(1n);a_1=a;a_2=a_1;
b=randn(1n);b_1=b;b_2=b_1;
%節點初始化
y=zeros(1N);
net=zeros(1n);
net_ab=zeros(1n);
%權值學習增量初始化
d_Wjk=zeros(nM);
d_Wij=zeros(Nn);
d_a=zeros(1n);
d_b=zeros(1n);
%%?輸入輸出數據歸一化
[inputninputps]=mapminmax(input‘);???????
[outputnoutputps]=mapminmax(output‘);?
inputn=inputn‘;
outputn=outputn‘;
error=zeros(1maxgen);
%%?網絡訓練
tic
for?i=1:maxgen
????
????%誤差累計
????error(i)=0;
????
????%?循環訓練
????for?kk=1:size(input1)??
????????x=inputn(kk:);????
????????yqw=outputn(kk:);
????????for?j=1:n???????????
????????????for?k=1:M???????
????????????????net(j)=net(j)+Wjk(jk)*x(k);??
????????????????net_ab(j)=(net(j)-b(j))/a(j);?
????????????end
????????????temp=mymorlet(net_ab(j));
????????????for?k=1:N???????
????????????????y=y+Wij(kj)*temp;??
????????????end
????????end
????????
????????%計算誤差和
????????error(i)=error(i)+sum(abs(yqw-y));
????????
????????%權值調整
????????for?j=1:n
????????????%計算d_Wij
????????????temp=mymorlet(net_ab(j));??
????????????for?k=1:N
????????????????d_Wij(kj)=d_Wij(kj)-(yqw(k)-y(k))*temp;
????????????end
????????????%計算d_Wjk
????????????temp=d_mymorlet(net_ab(j));
????????????for?k=1:M
????????????????for?l=1:N
????????????????????d_Wjk(jk)=d_Wjk(jk)+(yqw(l)-y(l))*Wij(lj)?;
????????????????end
????????????????d_Wjk(jk)=-d_Wjk(jk)*temp*x(k
- 上一篇:廣義預測控制MATLAB算法
- 下一篇:matlab基于小波變換的圖像融合代碼
評論
共有 條評論