训练样本
%300个作为训练样本
input_train=input(n(1:300),:)';
output_train=output(n(1:300),:)';
%输入数据归一化
[inputn,inputps]=mapminmax(input_train);
%初始化网络
innum=24;
midnum=9;
outnum=3;
%初始化权
w1=rands(midnum,innum);
b1=rands(midnum,1);
w2=rands(midnum,outnum);
b2=rands(outnum,1);
w2_1=w2;w2_2=w2_1;
w1_1=w1;w1_2=w1_1;
b1_1=b1;b1_2=b1_1;
b2_1=b2;b2_2=b2_1
%初始化学习率
xite=
alfa=;
%网络样本训练
%%训练网络
for ii=1:10
E(ii)=0;
for i=1:1:300
%% 导师输出
x=inputn(:,i);
% 隐含层输出
for j=1:1:midnum
I(j)=inputn(:,i)'*w1(j,:)'+b1(j);
Iout(j)=1/(1+exp(-I(j)));
end
% 结果输出
yn=w2'*Iout'+b2;
%%计算误差
e=output_train(:,i)-yn;
E(ii)=E(ii)+sum(abs(e))
%%修正权值
dw2=e*Iout;
db2=e';
for j=1:1:midnum
S=1/(1+exp(-I(j)));
FI(j)=S*(1-S);
end
for k=1:1:innum
for j=1:1:midnum
dw1(k,j)=FI(j)*x(k)*(e(1)*w2(j,1
训练样本 来自淘豆网m.daumloan.com转载请标明出处.