?? gadecod.asv
字號:
% 將遺傳算法的編碼分解為BP網(wǎng)絡(luò)所對應(yīng)的權(quán)值、閾值
function [W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x)
load data2
nntwarn off
XX=premnmx(XX);
YY=premnmx(YY);
P=XX;
T=YY;
R=size(P,1);
S2=size(T,1);
S1=25;%隱含層節(jié)點(diǎn)數(shù)
S=R*S1+S1*S2+S1+S2;%遺傳算法編碼長度
% 前R*S1個編碼為W1
for i=1:S1,
for k=1:R,
W1(i,k)=x(R*(i-1)+k);
end
end
% 接著的S1*S2個編碼(即第R*S1個后的編碼)為W2
for i=1:S2,
for k=1:S1,
W2(i,k)=x(S1*(i-1)+k+R*S1);
end
end
% 接著的S1個編碼(即第R*S1+S1*S2個后的編碼)為B1
for i=1:S1,
B1(i,1)=x((R*S1+S1*S2)+i);
end
% 接著的S2個編碼(即第R*S1+S1*S2+S1個后的編碼)為B2
for i=1:S2,
B2(i,1)=x((R*S1+S1*S2+S1)+i);
end
% 計算S1與S2層的輸出
A1=tansig(W1*P,B1);
A2=purelin(W2*A1,B2);
% 計算誤差平方和
SE=sumsqr(T-A2);
val=1/SE; % 遺傳算法的適應(yīng)值
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -