📄 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 + -