我的一个神经网络程序,比较简单,包含了神经网络的一些基本命令,供大家参考
在这个神经网络里,输入向量和输出向量相同,通过多层BP神经网络,可以找出这些变量之间的内在关系。在这个例子里,向量各变量都是时间t的函数,通过这个神经网络可以把这个隐藏变量找出来并表示出来。这个程序用到了神经网络的一些基本功能,供大家参考。
clear all;
t=1:0.001:1.3;
for i=302:600
t(i)=1.6-0.001*i;
end
y=; %用时间变量t构造向量y
y01=y./mean(mean(y)); %数据归一化
y01=y01./4;
noise=rand(4,600).*mean(mean(y01)).*0.01; %噪声
input=y01+noise;
output=input;
net=newff(,,{'tansig' 'tansig' 'tansig' 'tansig'},'trainlm'); %构造神经网络
net.trainparam.goal=1e-6;
net.trainparam.epochs=5000;
=train(net,input,output); %训练神经网络
%以下输出环境变量
for i=1:600
b01(:,i)=net.b{1};
end
t01=tansig(net.iw{1,1}*input+b01);
for i=1:600
b02(:,i)=net.b{2};
end
t02=tansig(net.lw{2,1}*t01+b02); %t02即是通过神经网络找出的隐藏变量
plot(-t02);
%后处理
yy=sim(net,input);
com=yy-input;
te=sum(sum(com.^2))/2400; %误差
[ 本帖最后由 jt1937 于 2008-7-13 15:10 编辑 ] 怎么没人关注啊! 呵呵,,我学习你的了,,,
页:
[1]