Contents
PROGRAMA: ALGORITMO DE REDES NEURONALES
clc; clear all; close all;
x1=-1:0.1:1;
x2=x1;
[xx1,xx2]=meshgrid(x1,x2);
t1=xx1.*xx1+xx2.*xx2;
t2=xx1.*xx1+xx2.*xx2;
nl=0.1;
t1=t1+nl*randn(size(t1));
t2=t2+nl*randn(size(t1));
x=[xx1(:) xx2(:)]';
t=[t1(:) t2(:)]';
Función para la creación de la Red Neuronal
N=5;
red=creared_A([size(x,1) N size(t,1)]);
Numero de parametros = 27
Entrenamiendo de la Red Neuronal
g=1e-1;
Ne=10000;
Emin=1e-2;
ntest=0.1;
tic
[red,ebest,ecm,g]=entrenared_A(red,x,t,g,Ne,Emin,ntest);
toc
etrain=ecm(:,1);
etest=ecm(:,2);
Ecmtrain=etrain(end);
Ecmtest=etest(end);
Ntrain = 397 Ntest = 44
Emin alcanzado
Ecmbest: train = 0.011921 test = 0.0098923 alcanzado en epoch 687
regresion entrenamiento = 0.69172 0.2231
correlacion entrenamiento = 0.94809
regresion test = 0.73637 0.19788
correlacion test = 0.91615
regresion entrenamiento = 0.77493 0.15659
correlacion entrenamiento = 0.95937
regresion test = 0.80431 0.15888
correlacion test = 0.9453
Elapsed time is 0.866868 seconds.
figure;
subplot(1,2,1);
mesh(xx1, xx2, t1);
title('t1');
axis equal
subplot(1,2,2);
mesh(xx1, xx2, t2);
title('t2');
axis equal
yy=zeros([size(xx1) 2]);
for n=1:size(yy,1)
for m=1:size(yy,2)
yy(n,m,:)=calculared_A(red,[xx1(n,m);xx2(n,m)]);
end
end