Está en la página 1de 15

FACULTAD DE INGENIERÍA ELECTRÓNICA Y

MECATRÓNICA

LABORATORIO: 6

TEMA : La RNA Perceptron Multicapa

PROFESOR : ING. JOSÉ C. BENITEZ P.

ALUMNO :

CODIGO :
1.- Dar dos ejemplos de neurona logística. En cada una modificar los valores de la
variable y ver su efecto en el resultado o en otras variables.

%PRÁCTICA 1 Construcción de una neuronalogística

P=[1 -2 3 -1;3 2 -4 -3];


net=newp([-1 3;-4 3],1,'logsig')
net.IW{1,1}=[2 -1];
net.b{1}=1.5;
S=sim(net,P);
plot(P,S)

%Ejemplo 1
X1=[1 3 5 7];
X2=[2 4 6 8];
P=[X1;X2];
IN1=minmax(X1);
IN2=minmax(X2);
net=newp([IN1;IN2],1,'logsig')
net.IW{1,1}=[1 -0.5];
net.b{1}=0.5;
S=sim(net,P);
plot(P,S)

%Ejemplo 2
X1=[2 4 6 8];
X2=[1 3 5 7];
P=[X1;X2];
IN1=minmax(X1);
IN2=minmax(X2);
net=newp([IN1;IN2],1,'logsig')
net.IW{1,1}=[0.5 1];
net.b{1}=1;
S=sim(net,P);
plot(P,S)
2.- Dar dos ejemplos de neurona tangente hiperbolica. En cada una modificar los
valores de la variable y ver su efecto en el resultado o en otras variables

%PRACTICA 2 Construcción de una neurona tangente hiperbolica


closeall
clearall
P=[1 -2 3 -1;3 2 -4 -3];
net=newp([-1 3;-4 3],1,'tansig')
net.IW{1,1}=[2 -1];
net.b{1}=1.5;
S=sim(net,P);

%Ejemplo1
X1=[1 3 5 7];
X2=[2 4 6 8];
P=[X1;X2];
IN1=minmax(X1);
IN2=minmax(X2);
net=newp([IN1;IN2],1,'tansig')
net.IW{1,1}=[1 -0.5];
net.b{1}=0.5;
S=sim(net,P);
plot(P,S)
%Ejemplo2
X1=[2 4 6 8];
X2=[1 3 5 7];
P=[X1;X2];
IN1=minmax(X1);
IN2=minmax(X2);
net=newp([IN1;IN2],1,'tansig')
net.IW{1,1}=[0.5 1];
net.b{1}=1;
S=sim(net,P);
plot(P,S)

3.- En cada una de las Perceptron Multicapa implementadas modificar los valores de la
variables y ver su efecto en el resultado o en otras variables.

%PRACTICA 7 Perceptron Multicapa: Aproximación de funciones


clearall
closeall
P=-4:0.5:4;
T=P.^2+3*P
figure(1)
plot(P,T,'o');title('Parabola');hold on
net=newff([-4 4],[3 1],{'tansig','purelin'},'trainlm');
net.trainParam.show=10;
net.trainParam.lr=0.1;
net.trainParam.epochs=200;
net.trainParam.goal=0.0001;
net.trainParam.min_grad=0.00001;
net=train(net,P,T);
S=sim(net,P)
%Representaciones Graficas
figure(2)
plot(P,T); hold on;plot(P,S,'+g');hold on
error=abs(T-S);plot(P,error);hold off
ErrorMaximo=max(max(T-S))
%Capacidad de generalizacioni de la red
figure(3)
P1=-4:0.5:4
T1=P1.^2+3-P1;
S1=sim(net,P1);
plot(P1,S1,'b');hold on; plot(P,T,'g')

Entrenando la Red
Graficas en Matlab

Evolucion del error

Salidas de la red
%Modificando valores

P=-8:0.5:8;
T=P.^2+3*P
figure(1)
plot(P,T,'o');title('Parabola');hold on
net=newff([-88],[7 1],{'tansig','purelin'},'trainlm');
net.trainParam.show=10;
net.trainParam.lr=0.1;
net.trainParam.epochs=300;
net.trainParam.goal=0.0000001;
net.trainParam.min_grad=0.00001;
net=train(net,P,T);
S=sim(net,P);
%Representaciones Graficas
figure(2)
plot(P,T); hold on;plot(P,S,'+g');hold on
error=abs(T-S);plot(P,error);hold off
ErrorMaximo=max(max(T-S))
%Capacidad de generalizacioni de la red
figure(3)
P1=-4:0.5:4;
T1=P1.^2+3-P1;
S1=sim(net,P1);
plot(P1,S1,'b');hold on; plot(P,T,'g')

Entrenamiento de la red
Graficas en Matlab

Evolución del error

Salidas de la red
4.- Dar dos ejemplos de cada aplicación mostrada de Perceptron Multicapa como
aproximador de funciones. En cada una modificar los valores de la variable y ver su
efecto en el resultado o en otras variables

% PRACTICA 8 Perceptron Multicapa: Aproximación de funciones


clearall
closeall
P=0:0.05:2;
T=humps(P)
plot(P,T)
IN1=minmax(P);
net=newff([IN1],[9 1],{'tansig','purelin'},'trainlm');
net.trainParam.show=10;
net.trainParam.lr=0.01;
net.trainParam.epochs=200;
net.trainParam.goal=0.0001;
net.trainParam.min_grad=0.00001;
net1=train(net,P,T);
S=sim(net1,P)
error=abs(T-S);
%Representaciongrafica
plot(P,S,'+g',P,T,P,error);hold off
ErrorMaximo=max(max(T-S))
%Capacidad de generalizacion
P1=0:0.05:2;
T1=P1.^2+3*P1;
S1=sim(net1,P1);
error=mae(T1-S1);
plot(P1,S1,P,T)

Entrenamiento de la red
Graficas en Matlab

Evolución del error

Salida de la red
%Modificando valores
clearall
closeall
P=0:0.1:10;
T=humps(P)
plot(P,T)
IN1=minmax(P);
net=newff([IN1],[12 1],{'tansig','purelin'},'trainlm');
net.trainParam.show=20;
net.trainParam.lr=0.01;
net.trainParam.epochs=500;
net.trainParam.goal=0.0001;
net.trainParam.min_grad=0.00001;
net1=train(net,P,T);
S=sim(net1,P)
error=abs(T-S);
%Representaciongrafica
plot(P,S,'+g',P,T,P,error);hold off
ErrorMaximo=max(max(T-S))
%Capacidad de generalizacion
P1=0:0.05:2;
T1=P1.^2+3*P1;
S1=sim(net1,P1);
error=mae(T1-S1);
plot(P1,S1,P,T)

Entrenamiento de la red
Graficas en Matlab

Evolución del error

Salida de la red
%PRACTICA 9 Perceptron Multicapa: Aproximacion de funciones

clearall
closeall
x=-2:0.25:2;
y=-2:0.25:2;
z=cos(x)'*sin(y);
P=[x;y];
T=z;
mesh(x,y,z)
IN1=minmax(x);
IN2=minmax(y);
net=newff([IN1;IN2],[25 17],{'tansig','purelin'},'traingd');
net.trainParam.show=50;
net.trainParam.lr=0.05;
net.trainParam.epochs=300;
net.trainParam.goal=0.00001;
net.trainParam.min_grad=0.00001;
net1=train(net,P,T);
gi=input('pulse cualquier tecla');
S=sim(net1,P)
subplot(1,2,1);mesh(x,y,T)
subplot(1,2,2);mesh(x,y,S)
mesh(x,y,S-T)
xlabel('eje X');ylabel('eje Y');zlabel('Error')
title('Superficie de error')

Entrenamiento de la red
Evolución del error
Representación gráfica de z Superficie de error

CONCLUSIONES

 Esta arquitectura suele entrenarse mediante el algoritmo

retropropagacion de errores o BP (Back Propagation)

 Si se añade capas intermedias (ocultas) a un perceptron simple,

obtendremos un perceptron multicapa o MLP (Multi-LayerPerceptron).

 El perceptron Multicapa no extrapola bien, es decir, si la red se entrana

mal o de manera insuficiente, las salidas pueden ser imprecisas.

También podría gustarte