backpro-standard.m

来自「backprogation step by step (single layer」· M 代码 · 共 83 行

M
83
字号
by vanilson gomes

% -------------------------
% Padr鮡s de Entrada
% -------------------------

 u=[0 0;
    0 1;
    1 0;
    1 1]';
 
 yd=[0 1 1 0];

ub=[ones(1,max(size(u))); u]; 			

Np=max(size(u(1,:))); 						
if max(size(u(1,:)))~=max(size(yd(1,:))),
   error('Erro nos padr鮡s de entrada!');
end

% -------------------------
% Estrutura da Rede
% -------------------------
Ne=3;									
Nh=Ne+1;							

Nu=max(size(u(:,1)))+1;			
Ny=max(size(yd(:,1)));				

% -------------------------
% Inicializa玢o dos Pesos
% -------------------------
uh=randn(Nh,Nu);					
hy=randn(Ny,Nh);				

% -------------------------
% Algoritmo de Treinamento
% -------------------------

n=0.3; 									
Nep=100;							

for k=1:Nep,
   for i=1:Np,
      
      auxh=uh*ub(:,i);
      auxh(1,:)=1; 			
      h=1./(1+exp(-auxh));		
      
      auxy=hy*h;
      y(:,i)=auxy;				
      
      e=yd(:,i)-y(:,i);			
      E(:,i)=0.5*e.^2;  	
      
       deltahy=e*1;				
      
      for p=1:Ny,				
         for q=1:Nh,
            deltaWhy(p,q)=n*deltahy(p,:)*h(q,:);
         end
      end
      
      aux2=h.*(1-h);				
      aux3=(deltahy'*hy)'; 	
      deltauh=aux2.*aux3;			
      
   
      for p=1:Nh,				
         for q=1:Nu,
            deltaWuh(p,q)=n*deltauh(p,:)*ub(q,i);
         end
      end
      
      hy=hy+deltaWhy;      		
      uh=uh+deltaWuh;			
      
   end
   
   err(k,:)=mean(E',1);			
   
end

⌨️ 快捷键说明

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