⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matlab1.txt

📁 matlab中遗传算法的例子
💻 TXT
字号:
matlab中遗传算法的例子 
y=1/x: 
%N=input('设定隐含层神经元个数:\n'); 
%maxecho=input('最大训练回合数'); 
%网络初始化 
N=3;%可以自己设定 
maxecho=1000; 
h=0.4;%学习速率 
p=1:1:100; 
t=1./p; 
inw=randn(N,2);%输入-隐含权值矩阵,单输入并加上了偏置一列 
ins=zeros(N,1);%隐含得到的诱导矩阵 
outg=zeros(N,1);%反向传到回至输入的delta值 
outs=zeros(N,1);%隐含输出的矩阵 
outw=randn(1,N+1);%隐含输出权值矩阵(加上一个偏置) 
outv=zeros(1,1);%输出得到的诱导矩阵 
outy=zeros(1,1); 
backg=zeros(1,1);%反向传至隐含层的delta值 
m=1; 
n=0; 
%开始样本训练 
%for x=1:maxecho 
while(n<=maxecho)%|m>0.2) 
   m=0; 
   for i=1:length(p) 
     ins=inw*[p(i);1]; 
     outs=1./(1+exp(-ins)); 
     outv=outw*[outs;1]; 
     outy=1./(1+exp(-outv)); 
     backg=(t(i)-outy)*(outy.*(1-outy)); 
     outg=(outs.*(1-outs)).*(outw(:,1:N)'*backg); 
     outw=outw+h*backg*[outs;1]'; 
     inw=inw+h*outg*[p(i),1]; 
     m=m+(t(i)-outy)^2; 
   end 
   n=n+1; 
end 
%开始样本测试 
textp=1:0.1:100; 
textt=1./textp; 
textout=zeros(1,length(textp)); 
error=zeros(1,length(textp)); 
for i=1:length(textp) 
   ins=inw*[textp(i);1]; 
   outs=1./(1+exp(-ins)); 
   outv=outw*[outs;1]; 
   outy=1./(1+exp(-outv)); 
   textout(i)=outy; 
   error(i)=abs(textt(i)-textout(i)); 
end 
%测试完成后,观察输出,以及误差的变化 
k=1:0.1:100; 
plot(k,textt,'r',k,textout,'b',k,error,'g'); 
xlabel(n); 

可以比较清楚的看到一个基本bp算法的过程,当时自己比较得意的就是其中的矩阵相乘。速度很快,而且比较容易扩展,即任意多的输入,任意多的隐含层。 


 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -