?? xw_ga_ann19_fitness.m
字號:
function m=xw_ga_ann19_fitness( x_param1,y_param2)
%---可以修改的參數-------------%
sensorN=3;%神經元數
stopR=100;%訓練停止回合數
h=1;%學習率
%------------------------------%
%trainS=1:1:100;
%trainD=1./trainS;%訓練樣本
trainS=[1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 ];
maxp=max(trainS);
minp=min(trainS);
for i=1:16
trainS(i)=(trainS(i)-minp)/(maxp-minp)*0.9+0.05;
end
trainD=[293093 304085 306170 280292 305141 297637 288059 278856 271417 276324 274278 280969 301697 312743 356720 446320];
maxt=max(trainD);
mint=min(trainD);
for i=1:16
trainD(i)=(trainD(i)-mint)/(maxt-mint)*0.9+0.05;
end
%trainS=1:1:100;
%trainD=1./trainS;%訓練樣本
HLW=randn(sensorN,5);%隱含層權值
HLW=x_param1;
HLV=zeros(sensorN,1);%隱含層誘導局部域
HLOut=zeros(sensorN,1);%隱含層輸出
HLG=zeros(sensorN,1);%隱含層G
OLW=randn(1,sensorN+1);%輸出層權值
OLW=y_param2;
OLV=zeros(1,1);%輸出層誘導局部域
OLY=zeros(1,1);%輸出層輸出值
OLG=zeros(1,1);%輸出層G
%經驗初值 3個隱含神經元
% HLW=[0.1456,-0.11;-0.1357,-0.21;0.3422,-0.13];
% OLW=[-1.8141 2.6347 -1.2922];
m=0;
%for j=1:stopR %訓練回合 停止條件為固定的訓練回合 有待改進為其他的停止準則
for i=4:(length(trainD)-1)
HLV=HLW*[trainD(i);trainD(i-1);trainD(i-2);trainD(i-3);1];
HLOut=1./(1+exp(-HLV));
OLV=OLW*[HLOut;1];
OLY=1./(1+exp(-OLV));
%OLG=(trainD(i+1)-OLY)*(OLY.*(1-OLY));
m=m+(trainD(i+1)-OLY)^2;
% HLG=(HLOut.*(1-HLOut)).*(OLW(:,1:sensorN)'*OLG);
% OLW=OLW+h*OLG*[HLOut;1]';
% HLW=HLW+h*HLG*[trainS(i),1];
end
m=10/m;
%end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -