資源簡介
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是一種神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。其由輸入層、中間層、輸出層組成的階層型神經(jīng)網(wǎng)絡(luò),中間層可擴展為多層。相鄰層之間各神經(jīng)元進行全連接,而每層各神經(jīng)元之間無連接,網(wǎng)絡(luò)按有教師示教的方式進行學(xué)習(xí),當一對學(xué)習(xí)模式提供給網(wǎng)絡(luò)后,各神經(jīng)元獲得網(wǎng)絡(luò)的輸入響應(yīng)產(chǎn)生連接權(quán)值(Weight)。然后按減小希望輸出與實際輸出誤差的方向,從輸出層經(jīng)各中間層逐層修正各連接權(quán),回到輸入層。此過程反復(fù)交替進行,直至網(wǎng)絡(luò)的全局誤差趨向給定的極小值,即完成學(xué)習(xí)的過程,

代碼片段和文件信息
%BP?based?PID?Control
clcclearclose?all
warning?off
xite=0.25;??%?學(xué)習(xí)因子
alfa=0.05;??%?慣量因子
S=1;?%Signal?type
%NN?Structure
IN=4;???%?輸入層個數(shù)
H=5;????%?隱藏層個數(shù)
Out=3;??%?輸出層個數(shù)
if?S==1??%Step?Signal
wi=[-0.6394???-0.2696???-0.3756???-0.7023;
????-0.8603???-0.2013???-0.5024???-0.2596;
????-1.0749????0.5543???-1.6820???-0.5437;
????-0.3625???-0.0724???-0.6463???-0.2859;
?????0.1425????0.0279???-0.5406???-0.7660];
%wi=0.50*rands(HIN);
wi_1=wi;wi_2=wi;wi_3=wi;
wo=[0.7576?0.2616?0.5820?-0.1416?-0.1325;
???-0.1146?0.2949?0.8352??0.2205??0.4508;
????0.7201?0.4566?0.7672??0.4962??0.3632];
%wo=0.50*rands(OutH);
wo_1=wo;wo_2=wo;wo_3=wo;
end
?
if?S==2??%Sine?Signal
wi=[-0.2846????0.2193???-0.5097???-1.0668;
????-0.7484???-0.1210???-0.4708????0.0988;
????-0.7176????0.8297???-1.6000????0.2049;
????-0.0858????0.1925???-0.6346????0.0347;
?????0.4358????0.2369???-0.4564???-0.1324];
%wi=0.50*rands(HIN);
wi_1=wi;wi_2=wi;wi_3=wi;
wo=[1.0438????0.5478????0.8682????0.1446????0.1537;
????0.1716????0.5811????1.1214????0.5067????0.7370;
????1.0063????0.7428????1.0534????0.7824????0.6494];
%wo=0.50*rands(OutH);
wo_1=wo;wo_2=wo;wo_3=wo;
end
x=[000];
u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;
y_1=0;y_2=0;y_3=0;
%?初始化
Oh=zeros(H1);????%從隱藏層到輸出層
I=Oh;?????????????%從輸入層到隱藏層
error_2=0;
error_1=0;
?
ts=0.001;
for?k=1:1:500
time(k)=k*ts;
if?S==1
???rin(k)=1.0;
elseif?S==2
???rin(k)=sin(1*2*pi*k*ts);
end
%非線性模型
a(k)=1.2*(1-0.8*exp(-0.1*k));
yout(k)=a(k)*y_1/(1+y_1^2)+u_1;??%?輸出
error(k)=rin(k)-yout(k);??%?誤差
xi=[rin(k)yout(k)error(k)1];
?
x(1)=error(k)-error_1;
x(2)=error(k);
x(3)=error(k)-2*error_1+error_2;
?
epid=[x(1);x(2);x(3)];
I=xi*wi‘;
for?j=1:1:H
????Oh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j)));?%Middle?layer
end
K=wo*Oh;?????????????%Output?layer
for?l=1:1:Out
????K(l)=exp(K(l))/(exp(K(l))+exp(-K(l)));????????%Getting?kpkikd
end
kp(k)=K(1);ki(k)=K(2);kd(k)=K(3);
Kpid=[kp(k)ki(k)kd(k)];
?
du(k)=Kpid*epid;
u(k)=u_1+du(k);
%?飽和限制
if?u(k)>=10
???u(k)=10;
end
if?u(k)<=-10
???u(k)=-10;
end
?
dyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001));
?
%Output?layer
for?j=1:1:Out
????dK(j)=2/(exp(K(j))+exp(-K(j)))^2;
end
for?l=1:1:Out
????delta3(l)=error(k)*dyu(k)*epid(l)*dK(l);
end
?
for?l=1:1:Out
???for?i=1:1:H
???????d_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2);
???end
end
????wo=wo_1+d_wo+alfa*(wo_1-wo_2);
%Hidden?layer
for?i=1:1:H
????dO(i)=4/(exp(I(i))+exp(-I(i)))^2;
end
????segma=delta3*wo;
for?i=1:1:H
???delta2(i)=dO(i)*segma(i);
end
?
d_wi=xite*delta2‘*xi;
wi=wi_1+d_wi+alfa*(wi_1-wi_2);
%?參數(shù)更新
u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);???
y_2=y_1;y_1=yout(k);
???
wo_3=wo_2;
wo_2=wo_1;
wo_1=wo;
???
wi_3=wi_2;
wi_2=wi_1;
wi_1=wi;
?
error_2=error_1;
error_1=error(k);
end
%?繪圖
figure(1);
plot(timerin‘r‘timeyout‘b‘‘linewidth‘2);
xlabel(‘time(s)‘);ylabel(‘rinyout‘);???%?輸入和輸出
figure(2);
plot(timeerror‘r‘‘linewidth‘2);
xlabel(‘time(s)‘
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3490??2018-06-29?12:59??bp模型優(yōu)化預(yù)測與matlab仿真\ysw4_1.m
?????文件???????2014??2018-06-29?12:59??bp模型優(yōu)化預(yù)測與matlab仿真\ysw4_2.m
?????文件???????1134??2018-06-29?12:59??bp模型優(yōu)化預(yù)測與matlab仿真\檢驗樣本圖片\num0_1.bmp
?????文件???????1134??2018-06-29?12:59??bp模型優(yōu)化預(yù)測與matlab仿真\檢驗樣本圖片\num1_1.bmp
?????文件???????1134??2018-06-29?12:59??bp模型優(yōu)化預(yù)測與matlab仿真\檢驗樣本圖片\num2_1.bmp
?????文件???????1134??2018-06-29?12:59??bp模型優(yōu)化預(yù)測與matlab仿真\檢驗樣本圖片\num3_1.bmp
?????文件???????1134??2018-06-29?12:59??bp模型優(yōu)化預(yù)測與matlab仿真\檢驗樣本圖片\num4_1.bmp
?????文件???????1134??2018-06-29?12:59??bp模型優(yōu)化預(yù)測與matlab仿真\檢驗樣本圖片\num5_1.bmp
?????目錄??????????0??2018-08-27?20:08??bp模型優(yōu)化預(yù)測與matlab仿真\檢驗樣本圖片
?????目錄??????????0??2018-08-27?20:08??bp模型優(yōu)化預(yù)測與matlab仿真
-----------?---------??----------?-----??----
????????????????12308????????????????????10
評論
共有 條評論