SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
INTELIGECIA ARTIFICIAL 
REDES NEURONALES ARTIFICIALES 
LABORATORIO No. 2 
OBJETIVO: 
 Verificar la utilidad del gráfico del Patrón de Entrenamiento. 
 Graficar el PE del Perceptron. 
 Entrenar el Perceptron con sentencias del Command Windows (CW). 
 Utilizar la herramienta nntool para entrenar una red Perceptron. 
 Entrenar el Adaline con sentencias del CW. 
 Utilizar la herramienta nntool para entrenar una red Adaline. 
 Entrenar el Backpropagation mediante sentencias del CW. 
 Utilizar la herramienta nntool para entrenar una red Backpropagation. 
 Entrenar la red de Base Radial con sentencias del CW. 
 Utilizar la herramienta nntool para entrenar una red de Base Radial. 
 Entrenar la red de Kohonen mediante sentencias del CW. 
 Utilizar la herramienta nntool para entrenar una red de Kohonen. 
 Entrenar la red de Hopfield con sentencias del CW. 
 Utilizar la herramienta nntool para entrenar una red de Hopfield. 
RESUMEN TEORICO 
1. GRAFICA DEL PATRON DE ENTRENAMIENTO (PE): 
El gráfico del PE como se vió en la teoría, nos permite saber con anticipación si la red 
es entrenable o si la red aprende. En este laboratorio se verificará dicha utilidad. 
En el MatLab existe un comando que nos permite graficar los PE de las redes 
neuronales. 
Este comando es: plotpv (X, D); donde X es el Patrón de Entrada y D son las salidas 
deseadas. 
2. LA HERRAMIENTA NNTOOL DEL MATLAB 
El MatLab posee una herramienta para el aprendizaje de redes neuronales llamada 
nntool, el que nos permite entrenar y manipular los datos de entrada de una red 
neuronal. Esta herramienta nos muestra un Guide en el que de manera sencilla se 
puede ingresar los datos de la red. 
Para ingresar a la herramienta, en el CW ingresar:  nntool, y aparecerá el Guide 
siguiente:
3. ENTRENAR LA RED PERCEPTRON MEDIANTE COMANDOS DEL CW 
Para entrenar una RN se debe realizar los siguientes pasos: 
a. Definir el conjunto (patrón) de entrenamiento. 
b. Crear la red Perceptron. 
c. Inicializar W y b. 
d. Entrenar la red. 
e. Verificar la red entrenada, 
También hay otras actividades que se deben realizar: 
f. Mostrar los W y b antes de entrenar. 
g. Graficar el PE. 
h. Mostrar la LS antes de entrenar. 
i. Mostrar los W y b después de entrenar 
j. Mostrar la LS después de entrenar. 
El MatLab posee comandos para realizar algunas de estos pasos: 
a. Definir el conjunto de entrenamiento: 
Ejemplo: Para la red perceptron de la función lógica OR, se tiene el siguiente patrón 
de entrenamiento: 
P = [0 0 1 1; 0 1 0 1]; T = [0 1 1 1]; 
b. Crear la red Perceptron se usa el comando newp. 
- Para obtener la ayuda sobre este comando, ingresar en el CW: 
 help newp 
Se mostrará la ayuda:
Syntax 
net = newp(p,t,tf,lf) 
Description 
Perceptrons are used to solve simple (i.e. linearly separable) classification 
problems. 
NET = NEWP(P,T,TF,LF) takes these inputs, 
P - RxQ matrix of Q1 representative input vectors. 
T - SxQ matrix of Q2 representative target vectors. 
TF - Transfer function, default = 'hardlim'. 
LF - Learning function, default = 'learnp'. 
Returns a new perceptron. 
The transfer function TF can be HARDLIM or HARDLIMS. 
The learning function LF can be LEARNP or LEARNPN. 
Ejemplo: 
net = newp([0 1; -2 2],1); 
c. Inicializar la red; inicializar W y b. 
Ejemplo: 
Pesos iniciales: 
net.iw{1,1}=[1 1] 
 W0= net.iw{1,1} % Se guardan los pesos iniciales. 
Bias inicial: 
net.b{1}=0.5 
b0= net.b{1} %Se guardan los bias iniciales. 
- Para definir el número de etapas: 
Ejemplo: 
net.trainParam.epochs=20 
d. Entrenar la red. Para entrenar la red se usa el comando train. 
Ejemplo: 
net = train(net, P, T); 
e. Verificar la red entrenada, 
- Para probar (simular) la red: 
Ejemplo: 
Y = net(P) 
f. Mostrar los W y b antes de entrenar.
W0 
b0 
g. Graficar el PE. 
plotpv(P, T) 
h. Mostrar la LS antes de entrenar. 
plotpc(W0, b0) 
i. Mostrar los W y b después de entrenar 
 Wf=net.iw{1, 1} 
bf=net.b{1} 
j. Mostrar la LS después de entrenar. 
plotpc(Wf, bf) 
4. ENTRENAR LA RED PERCEPTRON MEDIANTE LA HERRAMIENTA NNTOOL 
DEL MATLAB 
Ingresar a la herramienta: 
nntool 
Se mostrará la ventana administrador de red y datos: 
Pinchar en New y aparecerá:
Cambiar en Name de network1 a SLP1 y seleccionar en Network Type Percpetron 
Pinchar en la pestaña Data:
Ingresar en Name: P, y en Data Type seleccionar Inputs, y en Value ingresar [0 0 1 1; 
0 1 0 1], al final pinchar en el botón Create. Aparecerá el siguiente mensaje: 
Pinchar en OK para cerrar este mensaje. 
Ingresar en Name: T, y en Data Type seleccionar Targets, y en Value ingresar [0 1 1 
1], al final pinchar en el botón Create. Aparecerá el siguiente mensaje: 
Pinchar en OK para cerrar este mensaje. 
Pinchar en la pestaña Network de la ventana.
Pinchar en el botón Create. Muestra en siguiente mensaje: 
Indicando que se debe seleccionar las entradas. Vuelva a la ventana pinchando en OK 
y corrija. Debe quedar como se muestra:
Pinchar en el botón créate. Debe mostrar el siguiente mensaje: 
Pinchar en OK para cerrar el mensaje. 
Pinchar en view para ver la red creada. Se muestra asi: 
Cerrar la ventana pinchando en X. 
Pinchar en el botón Close. 
La ventana administrador de red y datos ahora muestra lo siguiente: 
Seleccionar en la sección Networks a SLP1:
Pinchar en el botón Open y se muestra al red SLP1: 
Seleccionar la pestaña Train: 
Seleccionar los Inputs y Targets ingresados:
Pinchar en el botón Train Network y se mostrará:: 
Pinchar en Performance y se muestra: 
Cerrar la ventana pinchando en X. Otra vez pinchar en X para cerrar la ventana Neural 
Network training.
Pinchar en la pestaña Simulate para verificar la red. Seleccione las Inputs P. 
Pinchar en Simulate Network y se muestra el mensaje: 
Cerrar la ventana del mensaje pinchando en Ok. 
En la ventana Administrador de red y datos pinchar en SLP1_outputs, se muestra: 
5. ENTRENAR LA RED ADALINE MEDIANTE COMANDOS DEL COMMAND 
WINDOWS 
MatLab dispone de una función para crear redes Adaline: newlin 
- Para obtener ayuda sobre este comando, en el CW ingresar: 
 help newlin 
NEWLIN Create a linear layer. 
Syntax 
net = newlin(P,S,ID,LR) 
net = newlin(P,T,ID,LR) 
Description 
Linear layers are often used as adaptive filters for signal processing and prediction. 
NEWLIN(P,S,ID,LR) takes these arguments, 
P - RxQ matrix of Q representative input vectors. 
S - Number of elements in the output vector. 
ID - Input delay vector, default = [0].
LR - Learning rate, default = 0.01; 
and returns a new linear layer. 
NEWLIN(P,T,ID,LR) takes the same arguments except for 
T - SxQ2 matrix of Q2 representative S-element output vectors. 
NET = NEWLIN(PR,S,0,P) takes an alternate argument, 
P - Matrix of input vectors. 
and returns a linear layer with the maximum stable learning rate for learning with 
inputs P. 
Ejemplo: 
- Patrón de entrenamiento: 
 P = [2 1 -2 -1; 2 -2 2 1]; 
 T = [0 1 0 1]; 
- Creación de la red Adaline: 
 net = newlin(P,T); 
- Definiendo parámetros de la red: 
 net.trainParam.goal= 0.1; 
- Pesos y bias iniciales: 
 Wi = net.iw{1,1} 
Wi = 
0 0 
 bi = net.b(1) 
bf = 
[0] 
- Entrenando la red 
 net = train(net,P,T); 
El problema se ejecuta para 64 épocas, alcanzando un error medio cuadrático de 
0.0999. 
- Pesos y bias finales 
 Wf = net.iw{1,1} 
Wf = 
-0.0615 -0.2194 
 bf = net.b(1) 
bf = 
[0.5899] 
- Simulación de la red 
 A = sim(net, P) 
A = 
0.0282 0.9672 0.2741 0.4320
- Cálculo del error: 
err = T - sim(net,P) 
err = 
-0.0282 0.0328 -0.2741 0.5680 
6. ENTRENAR LA RED ADALINE MEDIANTE LA HERRAMIENTA NNTOOL DEL 
MATLAB 
Utilizar la herramienta nntool para realizar el entrenamiento de la misma red del 
apartado anterior. 
7. ENTRENAR LA RED BACKPROPAGATION MEDIANTE COMANDOS DEL 
COMMAND WINDOWS 
MatLab dispone de una función para crear redes Adaline: newlin 
- Para obtener ayuda sobre este comando: En el CW ingresar: 
 help newff 
NEWFF Create a feed-forward backpropagation network. 
Syntax 
net = newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF) 
Description 
NEWFF(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF) takes, 
P - RxQ1 matrix of Q1 representative R-element input vectors. 
T - SNxQ2 matrix of Q2 representative SN-element target vectors. 
Si - Sizes of N-1 hidden layers, S1 to S(N-1), default = []. 
(Output layer size SN is determined from T.) 
TFi - Transfer function of ith layer. Default is 'tansig' for 
hidden layers, and 'purelin' for output layer. 
BTF - Backprop network training function, default = 'trainlm'. 
BLF - Backprop weight/bias learning function, default = 'learngdm'. 
PF - Performance function, default = 'mse'. 
IPF - Row cell array of input processing functions. 
Default is {'fixunknowns','removeconstantrows','mapminmax'}. 
OPF - Row cell array of output processing functions. 
Default is {'removeconstantrows','mapminmax'}. 
DDF - Data division function, default = 'dividerand'; 
and returns an N layer feed-forward backprop network. 
The transfer functions TF{i} can be any differentiable transfer 
function such as TANSIG, LOGSIG, or PURELIN. 
The training function BTF can be any of the backprop training 
functions such as TRAINLM, TRAINBFG, TRAINRP, TRAINGD, etc. 
*WARNING*: TRAINLM is the default training function because it 
is very fast, but it requires a lot of memory to run. If you get 
an out-of-memory error when training try doing one of these: 
(1) Slow TRAINLM training, but reduce memory requirements, by 
setting NET.trainParam.mem_reduc to 2 or more. (See HELP TRAINLM.) 
(2) Use TRAINBFG, which is slower but more memory efficient than TRAINLM.
(3) Use TRAINRP which is slower but more memory efficient than TRAINBFG. 
The learning function BLF can be either of the backpropagation 
learning functions such as LEARNGD, or LEARNGDM. 
The performance function can be any of the differentiable performance 
functions such as MSE or MSEREG. 
Ejemplo 1: Backpropagation 
- Patrón de entrenamiento: 
 P = [0 1 2 3 4 5 6 7 8 9 10]; 
 T = [0 1 2 3 4 3 2 1 2 3 4]; 
- Creación de la BP con 5 neuronas en la CO. 
 net = newff(P,T,5); 
- Prueba de la red antes del entrenamiento. 
 Y = sim(net,P); 
- Gráfico de entradas versus salidas y salidas deseadas antes del entrenamiento 
 plot(P,T,P,Y,'o'); 
- Entrenamiento de la red para 50 épocas. 
 net.trainParam.epochs = 50; 
 net = train(net,P,T); 
 Y = sim(net,P); 
- Gráfico de entradas versus salidas y salidas deseadas después del entrenamiento 
 figure, plot(P,T,P,Y,'o'); 
Ejemplo 2. Función lógica XOR, entrada binaria y salida binaria: 2 - 4 – 1 
- P Entradas y T salidas deseadas 
 P = [0 0 1 1; 0 1 0 1]; 
 T = [0 1 1 0]; 
- Creación de la red 
 net = newff(minmax(p), [4 1], {'logsig','logsig'}, 'trainlm'); 
 Y = sim(net,P); 
- Gráfico de entradas versus salidas y salidas deseadas 
 plot(P,T,P,Y,'o'); 
- Entrenamiento 
 net.trainParam.show = 25; 
 net.trainParam.lr =0.02; 
 net.trainParam.epochs = 400; 
 net.trainParam.goal = 1e-8;
[net,tr] = train(net,P,T); 
- Simulación 
 Y = sim(net,P); 
- Gráfico de entradas versus salidas y salidas deseadas 
 figure, plot(P,T,P,Y,'o'); 
 e = T -round(Y) 
8. ENTRENAR LA RED BACKPROPAGATION MEDIANTE LA HERRAMIENTA 
NNTOOL DEL MATLAB 
Utilizar la herramienta nntool para realizar el entrenamiento de la misma red del 
apartado anterior. 
PROCEDIMIENTO 
1. Gráfico del patrón de entrenamiento del Perceptron. 
a. GPE del Perceptron de: 
i. La función lógica (FL) Bicondicional. 
ii. La función lógica ~(A XOR B) Ù A 
iii. La expresión lógica (~A  B) Ù (A v ~C) 
iv. La expresión lógica ~(A=B) = ~ C 
v. X1=[-0.2 1.0 0.4 -1.0 -1.0 0.5], X2=[1.0 0.8 0.2 -0.4 -0.3 1.0], D1=[1 1 -1 
1 1 -1] y D2 = [1 -1 -1 -1 1 1] 
vi. X1 = [1.2 -1.8 -1.4 0.8 -0.6 0.9 1.0 -0.8 -1.0 0.5], 
X2 =[ 0.6 -0.8 -1.4 1.2 -1.0 1.0 0.5 -0.5 -1.0 1.0], 
D1=[1 1 0 0 1 1 1 0 0 1] y D2 = [1 1 0 1 1 11 0 1 1] 
En cada una de ellas responder: ¿Es entrenable? Justificar su respuesta. 
b. Diseñar un Perceptron de una expresión lógica (EL), que contenga 3 funciones 
lógicas de 2 y 3 entradas entrenable. 
c. Diseñar un Perceptron de 2 y 3 entradas entrenable, donde cada entrada tenga 
20 valores, con FT hardlims. 
2. Mediante comando del CW entrenar las redes Perceptron entrenables de la 
pregunta del procedimiento 1. Si no fueran entrenables hacerlas entrenables. En 
cada uno: 
a. Realizar gráficos del PE, 
b. LS/PS antes y después del entrenamiento y 
c. Mostrar los W y b, iniciales y los finales. 
d. Indicar cuál es el efecto del número de épocas. 
3. Mediante la herramienta nntool entrenar las redes Perceptron entrenables de la 
pregunta del procedimiento 1. Si no fueran entrenables hacerlas entrenables. En 
cada uno: 
a. Mostrar la performance del entrenamiento. Explicar. 
b. Mostrar la performance el estado del entrenamiento. Explicar. 
4. Entrenar redes Adaline de aproximación lineal de las funciones, con sentencias del 
CW: 
a. y = 2x1 – x2 + 1.5. 
Donde P = [1 -2 3 -1; 3 2 4 -3], W0 = [2 -1] y b0=1.5. Graficar la función. 
b. y = 2x1 – x2 + 3.
Donde P = [-2 -1 0 0 1 2; 1 -2 1 -1 2 1], Tolerancia del error=0.0001, 
iteraciones=200. 
Hallar el error medio de salida (mae) y el error medio del clasificador. 
Graficar la función. 
c. y = 0.5x1 + 0.5x2 + 0.5. 
Donde P = [1 1 -1 -1; 1 -1 1 -1], T= [1 1 1 -1], Tolerancia del error=0.1, 
iteraciones=100. 
Hallar el error medio de salida (mae) y el error medio del clasificador. 
Graficar la función. 
5. Utilizar la herramienta nntool para entrenar redes Adaline del punto anterior. 
6. Entrenar tres (03) redes Backpropagation con sentencias del CW indicando su 
utilidad práctica. 
Ejemplo: 
Utilidad práctica: Aproximador de funciones: y=x2+3x 
Donde P=-4:0.5:4; Regla de Aprendizaje: Levenrg-Marquardt. 
Graficar la función. 
Parámetros de la red: 
- Mostrar los resultados cada 50 iteraciones. 
- Tasa de aprendizaje: 0.1 
- Número máximo de iteraciones: 200 
- Tolerancia del error como criterio de parada: 0.0001 
- Valor mínimo del gradiente para parar: 0.00001 
7. Utilizar la herramienta nntool para entrenar las redes Backpropagation de punto 
anterior. 
8. Entrenar tres (03) redes de Base Radial con sentencias del CW indicando su 
utilidad práctica. 
Ejemplo: 
Utilidad práctica: Aproximador de funciones: 
function [W phi]=rbff(X,Y,Xc) 
Nc = size(Xc,1); %número de centros 
W = zeros(Nc,1); %Inicializar matriz de pesos 
[z phi] = rbfsim(Xc,X,W); %simular RFBR 
A=pinv(phi'*phi)*phi'; %calcular la pseudo inversa de phi 
W=A*Y; %Hallar matriz de pesos 
function [z phi]=rbfsim(Xc,X,W) 
Nc = size(Xc,1); %número de centros 
N_p = size(X,1); %número de puntos 
k = ones(Nc); 
phi=zeros(N_p,Nc); %salidas de la RFBR 
for i=1:Nc 
if k(i)==0 
phi(:,i)=1; 
else 
r=sqrt(sum((repmat(Xc(i,:),N_p,1)-X(:,:)).^2,2));%distancia de Xc a X 
phi(:,i)=exp(-k(i).*r.^2); 
end 
end 
z=phi*W; 
%1. Inicialización de Parámetros 
fprintf(1,'n Ejemplo de aproximación de funciones a través de redes RFBRn') 
%El usuario debe indicar el número de puntos que desea de la función a aproximar 
Nt = input('n Indicar el número de puntos que desea aproximarn'); 
%El usuario debe indicar el número de centros de la red RBF
Nc = input('n Indicar el número de centros de la red RBF que desea:n'); 
Xt = rand(Nt,1); %entradas de la red 
Yt = rand(Nt,1); %salidas de la red (función a aproximar) 
Xc = rand(Nc,1); %centros de la RFBR 
%2. Aprendizaje 
[W] = rbff(Xt,Yt,Xc); %matriz de pesos por entrenamiento 
%3. Simulación y Traficación 
Np = 100*ones(1,1); %número de puntos a calcular 
Xp = linspace(0,1,Np(1))'; %puntos a calcular 
[Yd phi]= rbfsim(Xc,Xp,W); 
figure(1) 
plot(Xp,Yd) 
hold on 
plot(Xt,Yt,'k*') 
hold off 
9. Utilizar la herramienta nntool para entrenar redes de Base Radial del punto 
anterior. 
10. Entrenar tres (03) redes de Kohonen mediante sentencias del CW indicando su 
utilidad práctica. 
11. Utilizar la herramienta nntool para entrenar redes de Kohonen del punto anterior. 
12. Entrenar tres (03) redes de Hopfield con sentencias del CW indicando su utilidad 
práctica. 
13. Utilizar la herramienta nntool para entrenar redes de Hopfield del punto anterior. 
INFORME FINAL 
El Informe de Laboratorio es un documento gráfico en lo posible y es redactado en 
Word con el desarrollo del laboratorio. 
Niveles de Informe: 
• Primer nivel: Observaciones. Imágenes con comentarios cortos. Redactar al ir 
desarrollando el laboratorio. (Requiere desarrollar el laboratorio). 
• Segundo nivel: Conclusiones. Redactar al terminar el laboratorio. (Requiere 
haber desarrollado el laboratorio). 
• Tercer Nivel: Recomendaciones. (Requiere la lectura de otras fuentes). 
Dentro de su Carpeta Personal del Dropbox crear una carpeta para el Laboratorio 1 
con el siguiente formato: 
SIRN_PaternoM_L2 
Esta carpeta debe contener el Informe de Laboratorio, los códigos, las fuentes y 
recursos utilizados. 
Las fuentes deben conservar el nombre original de archivo y se debe agregar en su 
nombre “_L2” al final. 
CUESTIONARIO 
1. Muestre los resultados de los procedimientos y ejercicios del laboratorio. 
2. Dar un ejemplo de aplicación práctica de las redes de este laboratorio: 
a. SLP. 
b. Adaline.
c. Backpropagation. 
d. Base Radial. 
e. Kohonen. 
f. Hopfield. 
3. En cada procedimiento y ejercicio mostrar sus observaciones, conclusiones y 
recomendaciones. 
FUNCIONES DE MATLAB: 
plotpc, plotpv, nntool, newp, newlin, newff, newrb, newsom, newhop, train, y sim.

Más contenido relacionado

La actualidad más candente

Matlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLABMatlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLAB
ESCOM
 
Utp 2015-2_ia_lab1.pdf
 Utp 2015-2_ia_lab1.pdf Utp 2015-2_ia_lab1.pdf
Utp 2015-2_ia_lab1.pdf
jcbp_peru
 
Utp 2015-2_ia_s4_red perceptron
 Utp 2015-2_ia_s4_red perceptron Utp 2015-2_ia_s4_red perceptron
Utp 2015-2_ia_s4_red perceptron
jcbp_peru
 
Utp ia_2014-2_s10_redes de funciones de base radial
 Utp ia_2014-2_s10_redes de funciones de base radial Utp ia_2014-2_s10_redes de funciones de base radial
Utp ia_2014-2_s10_redes de funciones de base radial
jcbp_peru
 
Woi9 ia 2015 1 balotario de la pc2
Woi9 ia 2015 1 balotario de la pc2Woi9 ia 2015 1 balotario de la pc2
Woi9 ia 2015 1 balotario de la pc2
jcbp_peru
 
Utp 2015-2_sirn lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2
jcbp_peru
 
Utp 2015-2_sirn_s6_adaline y backpropagation
 Utp 2015-2_sirn_s6_adaline y backpropagation Utp 2015-2_sirn_s6_adaline y backpropagation
Utp 2015-2_sirn_s6_adaline y backpropagation
jcbenitezp
 
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Tribunal Electoral Provincia de Misiones
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3
jcbenitezp
 
Utp i_ay_se_sistemas difusos i 2013-3
 Utp i_ay_se_sistemas difusos i 2013-3 Utp i_ay_se_sistemas difusos i 2013-3
Utp i_ay_se_sistemas difusos i 2013-3
jcbenitezp
 
Utp sirn_sl4 la rna perceptron
 Utp sirn_sl4 la rna perceptron Utp sirn_sl4 la rna perceptron
Utp sirn_sl4 la rna perceptron
c09271
 
redes neuronales con Levenberg-Marquardt lmbp
redes neuronales con Levenberg-Marquardt lmbpredes neuronales con Levenberg-Marquardt lmbp
redes neuronales con Levenberg-Marquardt lmbp
ESCOM
 
RED NEURONAL ADALINE
RED NEURONAL ADALINERED NEURONAL ADALINE
RED NEURONAL ADALINE
ESCOM
 
Utp sirn_sl8 sistemas difusos i 2013-3
 Utp sirn_sl8 sistemas difusos i 2013-3 Utp sirn_sl8 sistemas difusos i 2013-3
Utp sirn_sl8 sistemas difusos i 2013-3
jcbenitezp
 
Utp 2015-2_sirn_s4_red perceptron
 Utp 2015-2_sirn_s4_red perceptron Utp 2015-2_sirn_s4_red perceptron
Utp 2015-2_sirn_s4_red perceptron
jcbp_peru
 
Utp sirn_s13_sistemas de control basados en logic difusa
 Utp sirn_s13_sistemas de control basados en logic difusa Utp sirn_s13_sistemas de control basados en logic difusa
Utp sirn_s13_sistemas de control basados en logic difusa
jcbp_peru
 

La actualidad más candente (20)

Matlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLABMatlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLAB
 
Utp 2015-2_ia_lab1.pdf
 Utp 2015-2_ia_lab1.pdf Utp 2015-2_ia_lab1.pdf
Utp 2015-2_ia_lab1.pdf
 
Utp 2015-2_ia_s4_red perceptron
 Utp 2015-2_ia_s4_red perceptron Utp 2015-2_ia_s4_red perceptron
Utp 2015-2_ia_s4_red perceptron
 
Boletin3
Boletin3Boletin3
Boletin3
 
Utp ia_2014-2_s10_redes de funciones de base radial
 Utp ia_2014-2_s10_redes de funciones de base radial Utp ia_2014-2_s10_redes de funciones de base radial
Utp ia_2014-2_s10_redes de funciones de base radial
 
Woi9 ia 2015 1 balotario de la pc2
Woi9 ia 2015 1 balotario de la pc2Woi9 ia 2015 1 balotario de la pc2
Woi9 ia 2015 1 balotario de la pc2
 
Utp 2015-2_sirn lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2
 
Utp 2015-2_sirn_s6_adaline y backpropagation
 Utp 2015-2_sirn_s6_adaline y backpropagation Utp 2015-2_sirn_s6_adaline y backpropagation
Utp 2015-2_sirn_s6_adaline y backpropagation
 
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3
 
Utp i_ay_se_sistemas difusos i 2013-3
 Utp i_ay_se_sistemas difusos i 2013-3 Utp i_ay_se_sistemas difusos i 2013-3
Utp i_ay_se_sistemas difusos i 2013-3
 
Utp sirn_sl4 la rna perceptron
 Utp sirn_sl4 la rna perceptron Utp sirn_sl4 la rna perceptron
Utp sirn_sl4 la rna perceptron
 
redes neuronales con Levenberg-Marquardt lmbp
redes neuronales con Levenberg-Marquardt lmbpredes neuronales con Levenberg-Marquardt lmbp
redes neuronales con Levenberg-Marquardt lmbp
 
RED NEURONAL ADALINE
RED NEURONAL ADALINERED NEURONAL ADALINE
RED NEURONAL ADALINE
 
Variantes de BACKPROPAGATION
Variantes de BACKPROPAGATIONVariantes de BACKPROPAGATION
Variantes de BACKPROPAGATION
 
Utp 2015-2_ia_lab3
 Utp 2015-2_ia_lab3 Utp 2015-2_ia_lab3
Utp 2015-2_ia_lab3
 
Utp sirn_sl8 sistemas difusos i 2013-3
 Utp sirn_sl8 sistemas difusos i 2013-3 Utp sirn_sl8 sistemas difusos i 2013-3
Utp sirn_sl8 sistemas difusos i 2013-3
 
Actividad no13 y_14_de_2do_parcial
Actividad no13 y_14_de_2do_parcialActividad no13 y_14_de_2do_parcial
Actividad no13 y_14_de_2do_parcial
 
Utp 2015-2_sirn_s4_red perceptron
 Utp 2015-2_sirn_s4_red perceptron Utp 2015-2_sirn_s4_red perceptron
Utp 2015-2_sirn_s4_red perceptron
 
Utp sirn_s13_sistemas de control basados en logic difusa
 Utp sirn_s13_sistemas de control basados en logic difusa Utp sirn_s13_sistemas de control basados en logic difusa
Utp sirn_s13_sistemas de control basados en logic difusa
 

Destacado

Presentación derechos del niño
Presentación derechos del niñoPresentación derechos del niño
Presentación derechos del niño
yennyenriquez
 
La función de un lms
La función de un lmsLa función de un lms
La función de un lms
chobye
 
La paradoja
La paradojaLa paradoja
La paradoja
crisneyd
 
La paradoja
La paradojaLa paradoja
La paradoja
crisneyd
 
Practica de aplicaciones
Practica de aplicacionesPractica de aplicaciones
Practica de aplicaciones
suukeer
 
Utp iase_s2_intro a las rna
 Utp iase_s2_intro a las rna  Utp iase_s2_intro a las rna
Utp iase_s2_intro a las rna
jcbp_peru
 
Utp ia_2015-1 lab3
 Utp ia_2015-1 lab3 Utp ia_2015-1 lab3
Utp ia_2015-1 lab3
jcbp_peru
 

Destacado (20)

Caida del imperio romano
Caida del imperio romanoCaida del imperio romano
Caida del imperio romano
 
Mijael hernandez
Mijael hernandezMijael hernandez
Mijael hernandez
 
Tema libre pfeiffer scarcello
Tema libre pfeiffer scarcelloTema libre pfeiffer scarcello
Tema libre pfeiffer scarcello
 
Sessió risc cv
Sessió risc cvSessió risc cv
Sessió risc cv
 
Presentación derechos del niño
Presentación derechos del niñoPresentación derechos del niño
Presentación derechos del niño
 
Sociales trabajooo 222
Sociales  trabajooo 222Sociales  trabajooo 222
Sociales trabajooo 222
 
iva
 iva iva
iva
 
Tercer indicador
Tercer indicadorTercer indicador
Tercer indicador
 
Ciencias 1111111[1]
Ciencias 1111111[1]Ciencias 1111111[1]
Ciencias 1111111[1]
 
La función de un lms
La función de un lmsLa función de un lms
La función de un lms
 
La paradoja
La paradojaLa paradoja
La paradoja
 
Recetas 7 y 1
Recetas 7 y 1Recetas 7 y 1
Recetas 7 y 1
 
La paradoja
La paradojaLa paradoja
La paradoja
 
El conocimiento
El conocimientoEl conocimiento
El conocimiento
 
Practica de aplicaciones
Practica de aplicacionesPractica de aplicaciones
Practica de aplicaciones
 
Librosmasvendidos
LibrosmasvendidosLibrosmasvendidos
Librosmasvendidos
 
Librosmasvendidos
LibrosmasvendidosLibrosmasvendidos
Librosmasvendidos
 
Utp iase_s2_intro a las rna
 Utp iase_s2_intro a las rna  Utp iase_s2_intro a las rna
Utp iase_s2_intro a las rna
 
Utp ia_2015-1 lab3
 Utp ia_2015-1 lab3 Utp ia_2015-1 lab3
Utp ia_2015-1 lab3
 
405
405405
405
 

Similar a Utp ia_2014-2 lab2

Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptron
jcbenitezp
 
REDES NEUROANLES ELMAN DEMO
REDES NEUROANLES ELMAN DEMOREDES NEUROANLES ELMAN DEMO
REDES NEUROANLES ELMAN DEMO
ESCOM
 
Utp sirn_sl4 la rna percetron 2012-2
 Utp sirn_sl4 la rna percetron 2012-2 Utp sirn_sl4 la rna percetron 2012-2
Utp sirn_sl4 la rna percetron 2012-2
c09271
 
Woia sirn pc2_2014-2 dom
Woia sirn pc2_2014-2 domWoia sirn pc2_2014-2 dom
Woia sirn pc2_2014-2 dom
jcbp_peru
 
Practicas en matlab
Practicas en matlabPracticas en matlab
Practicas en matlab
bachispasaca
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
gueste7b261
 
Utp sirn_s6_adaline y backpropagation
 Utp sirn_s6_adaline y backpropagation Utp sirn_s6_adaline y backpropagation
Utp sirn_s6_adaline y backpropagation
jcbp_peru
 
Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
Construccion , Diseño y Entrenamiento de Redes Neuronales ArtificialesConstruccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
ESCOM
 
Utp sirn sl4 la rna perceptron 2012-2
Utp sirn sl4 la rna perceptron 2012-2Utp sirn sl4 la rna perceptron 2012-2
Utp sirn sl4 la rna perceptron 2012-2
jcbenitezp
 
REDES NEURONALES RECURRENTES Elman
REDES NEURONALES RECURRENTES ElmanREDES NEURONALES RECURRENTES Elman
REDES NEURONALES RECURRENTES Elman
ESCOM
 

Similar a Utp ia_2014-2 lab2 (20)

Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptron
 
redes neuronales perceptron
redes neuronales  perceptronredes neuronales  perceptron
redes neuronales perceptron
 
Perceptrón multicapa entrenamienta en MatLab
Perceptrón multicapa entrenamienta en MatLabPerceptrón multicapa entrenamienta en MatLab
Perceptrón multicapa entrenamienta en MatLab
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de Retropropagación
 
REDES NEUROANLES ELMAN DEMO
REDES NEUROANLES ELMAN DEMOREDES NEUROANLES ELMAN DEMO
REDES NEUROANLES ELMAN DEMO
 
Utp sirn_sl4 la rna percetron 2012-2
 Utp sirn_sl4 la rna percetron 2012-2 Utp sirn_sl4 la rna percetron 2012-2
Utp sirn_sl4 la rna percetron 2012-2
 
Actividad no13 y_14_de_1er_parcial_lema_evelyn
Actividad no13 y_14_de_1er_parcial_lema_evelynActividad no13 y_14_de_1er_parcial_lema_evelyn
Actividad no13 y_14_de_1er_parcial_lema_evelyn
 
Woia sirn pc2_2014-2 dom
Woia sirn pc2_2014-2 domWoia sirn pc2_2014-2 dom
Woia sirn pc2_2014-2 dom
 
Practicas en matlab
Practicas en matlabPracticas en matlab
Practicas en matlab
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Utp sirn_s6_adaline y backpropagation
 Utp sirn_s6_adaline y backpropagation Utp sirn_s6_adaline y backpropagation
Utp sirn_s6_adaline y backpropagation
 
RED NEURONAL Backpropagation
RED NEURONAL BackpropagationRED NEURONAL Backpropagation
RED NEURONAL Backpropagation
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
Construccion , Diseño y Entrenamiento de Redes Neuronales ArtificialesConstruccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
 
Utp sirn sl4 la rna perceptron 2012-2
Utp sirn sl4 la rna perceptron 2012-2Utp sirn sl4 la rna perceptron 2012-2
Utp sirn sl4 la rna perceptron 2012-2
 
Gustavo 07 redes neuronales matlab
Gustavo 07   redes neuronales matlabGustavo 07   redes neuronales matlab
Gustavo 07 redes neuronales matlab
 
REDES NEURONALES RECURRENTES Elman
REDES NEURONALES RECURRENTES ElmanREDES NEURONALES RECURRENTES Elman
REDES NEURONALES RECURRENTES Elman
 
05 (power point)-héctor patiño
05 (power point)-héctor patiño05 (power point)-héctor patiño
05 (power point)-héctor patiño
 
Ctrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidadCtrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidad
 
Satlin y satlins en matlab
Satlin y satlins en matlabSatlin y satlins en matlab
Satlin y satlins en matlab
 

Más de jcbp_peru

It526 2017 1 balotario-s_ap2y3
It526 2017 1 balotario-s_ap2y3It526 2017 1 balotario-s_ap2y3
It526 2017 1 balotario-s_ap2y3
jcbp_peru
 
It526 2016 2 pc4 dom
It526 2016 2 pc4 domIt526 2016 2 pc4 dom
It526 2016 2 pc4 dom
jcbp_peru
 
It246 2016 2 practica calificada 4
It246 2016 2 practica calificada 4It246 2016 2 practica calificada 4
It246 2016 2 practica calificada 4
jcbp_peru
 
It246 2016 2 practica calificada 3
It246 2016 2 practica calificada 3It246 2016 2 practica calificada 3
It246 2016 2 practica calificada 3
jcbp_peru
 
It246 2016 2 practica calificada 2
It246 2016 2 practica calificada 2It246 2016 2 practica calificada 2
It246 2016 2 practica calificada 2
jcbp_peru
 
It526 2016 2 practica calificada 2
It526 2016 2 practica calificada 2It526 2016 2 practica calificada 2
It526 2016 2 practica calificada 2
jcbp_peru
 
33012 calvo tfw-figura-paterna-2015
33012 calvo tfw-figura-paterna-201533012 calvo tfw-figura-paterna-2015
33012 calvo tfw-figura-paterna-2015
jcbp_peru
 
It246 2016 2 practica calificada 1
It246 2016 2 practica calificada 1It246 2016 2 practica calificada 1
It246 2016 2 practica calificada 1
jcbp_peru
 
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacionUni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
jcbp_peru
 
Uni fiee ci 2016 02 sesion 2 servicios inalámbricos
Uni fiee ci 2016 02 sesion 2 servicios inalámbricosUni fiee ci 2016 02 sesion 2 servicios inalámbricos
Uni fiee ci 2016 02 sesion 2 servicios inalámbricos
jcbp_peru
 
Uni fiee ci 2016 02 sesion 1 espectro radioelèctrico
Uni fiee ci 2016 02 sesion 1 espectro radioelèctricoUni fiee ci 2016 02 sesion 1 espectro radioelèctrico
Uni fiee ci 2016 02 sesion 1 espectro radioelèctrico
jcbp_peru
 
Uni wc 2016 1 sesion 14 redes moviles 4 g
Uni wc 2016 1 sesion 14 redes moviles 4 gUni wc 2016 1 sesion 14 redes moviles 4 g
Uni wc 2016 1 sesion 14 redes moviles 4 g
jcbp_peru
 
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3g
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3gUni wc 2016 1 sesion 13 redes moviles 2 g y 3g
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3g
jcbp_peru
 
Uni fiee ci sesion 12 cdma
Uni fiee ci sesion 12 cdmaUni fiee ci sesion 12 cdma
Uni fiee ci sesion 12 cdma
jcbp_peru
 
Uni fiee ci 2016 01 sesion 11 comunicaciones moviles
Uni fiee ci 2016 01 sesion 11 comunicaciones movilesUni fiee ci 2016 01 sesion 11 comunicaciones moviles
Uni fiee ci 2016 01 sesion 11 comunicaciones moviles
jcbp_peru
 
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacionUni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
jcbp_peru
 

Más de jcbp_peru (20)

It526 2017 1 balotario-s_ap2y3
It526 2017 1 balotario-s_ap2y3It526 2017 1 balotario-s_ap2y3
It526 2017 1 balotario-s_ap2y3
 
It526 2016 2 pc4 dom
It526 2016 2 pc4 domIt526 2016 2 pc4 dom
It526 2016 2 pc4 dom
 
It246 2016 2 practica calificada 4
It246 2016 2 practica calificada 4It246 2016 2 practica calificada 4
It246 2016 2 practica calificada 4
 
It246 2016 2 practica calificada 3
It246 2016 2 practica calificada 3It246 2016 2 practica calificada 3
It246 2016 2 practica calificada 3
 
It246 2016 2 practica calificada 2
It246 2016 2 practica calificada 2It246 2016 2 practica calificada 2
It246 2016 2 practica calificada 2
 
It526 2013 2 ep
It526 2013 2 epIt526 2013 2 ep
It526 2013 2 ep
 
It526 2016 1 ep
It526 2016 1 epIt526 2016 1 ep
It526 2016 1 ep
 
It526 2016 2 practica calificada 2
It526 2016 2 practica calificada 2It526 2016 2 practica calificada 2
It526 2016 2 practica calificada 2
 
33012 calvo tfw-figura-paterna-2015
33012 calvo tfw-figura-paterna-201533012 calvo tfw-figura-paterna-2015
33012 calvo tfw-figura-paterna-2015
 
It246 2016 2 practica calificada 1
It246 2016 2 practica calificada 1It246 2016 2 practica calificada 1
It246 2016 2 practica calificada 1
 
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacionUni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
 
Uni fiee ci 2016 02 sesion 2 servicios inalámbricos
Uni fiee ci 2016 02 sesion 2 servicios inalámbricosUni fiee ci 2016 02 sesion 2 servicios inalámbricos
Uni fiee ci 2016 02 sesion 2 servicios inalámbricos
 
Uni fiee ci 2016 02 sesion 1 espectro radioelèctrico
Uni fiee ci 2016 02 sesion 1 espectro radioelèctricoUni fiee ci 2016 02 sesion 1 espectro radioelèctrico
Uni fiee ci 2016 02 sesion 1 espectro radioelèctrico
 
Uni wc 2016 1 sesion 14 redes moviles 4 g
Uni wc 2016 1 sesion 14 redes moviles 4 gUni wc 2016 1 sesion 14 redes moviles 4 g
Uni wc 2016 1 sesion 14 redes moviles 4 g
 
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3g
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3gUni wc 2016 1 sesion 13 redes moviles 2 g y 3g
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3g
 
Lte whitepaper(1)
 Lte whitepaper(1) Lte whitepaper(1)
Lte whitepaper(1)
 
Redes moviles
Redes movilesRedes moviles
Redes moviles
 
Uni fiee ci sesion 12 cdma
Uni fiee ci sesion 12 cdmaUni fiee ci sesion 12 cdma
Uni fiee ci sesion 12 cdma
 
Uni fiee ci 2016 01 sesion 11 comunicaciones moviles
Uni fiee ci 2016 01 sesion 11 comunicaciones movilesUni fiee ci 2016 01 sesion 11 comunicaciones moviles
Uni fiee ci 2016 01 sesion 11 comunicaciones moviles
 
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacionUni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
 

Utp ia_2014-2 lab2

  • 1. INTELIGECIA ARTIFICIAL REDES NEURONALES ARTIFICIALES LABORATORIO No. 2 OBJETIVO: Verificar la utilidad del gráfico del Patrón de Entrenamiento. Graficar el PE del Perceptron. Entrenar el Perceptron con sentencias del Command Windows (CW). Utilizar la herramienta nntool para entrenar una red Perceptron. Entrenar el Adaline con sentencias del CW. Utilizar la herramienta nntool para entrenar una red Adaline. Entrenar el Backpropagation mediante sentencias del CW. Utilizar la herramienta nntool para entrenar una red Backpropagation. Entrenar la red de Base Radial con sentencias del CW. Utilizar la herramienta nntool para entrenar una red de Base Radial. Entrenar la red de Kohonen mediante sentencias del CW. Utilizar la herramienta nntool para entrenar una red de Kohonen. Entrenar la red de Hopfield con sentencias del CW. Utilizar la herramienta nntool para entrenar una red de Hopfield. RESUMEN TEORICO 1. GRAFICA DEL PATRON DE ENTRENAMIENTO (PE): El gráfico del PE como se vió en la teoría, nos permite saber con anticipación si la red es entrenable o si la red aprende. En este laboratorio se verificará dicha utilidad. En el MatLab existe un comando que nos permite graficar los PE de las redes neuronales. Este comando es: plotpv (X, D); donde X es el Patrón de Entrada y D son las salidas deseadas. 2. LA HERRAMIENTA NNTOOL DEL MATLAB El MatLab posee una herramienta para el aprendizaje de redes neuronales llamada nntool, el que nos permite entrenar y manipular los datos de entrada de una red neuronal. Esta herramienta nos muestra un Guide en el que de manera sencilla se puede ingresar los datos de la red. Para ingresar a la herramienta, en el CW ingresar: nntool, y aparecerá el Guide siguiente:
  • 2. 3. ENTRENAR LA RED PERCEPTRON MEDIANTE COMANDOS DEL CW Para entrenar una RN se debe realizar los siguientes pasos: a. Definir el conjunto (patrón) de entrenamiento. b. Crear la red Perceptron. c. Inicializar W y b. d. Entrenar la red. e. Verificar la red entrenada, También hay otras actividades que se deben realizar: f. Mostrar los W y b antes de entrenar. g. Graficar el PE. h. Mostrar la LS antes de entrenar. i. Mostrar los W y b después de entrenar j. Mostrar la LS después de entrenar. El MatLab posee comandos para realizar algunas de estos pasos: a. Definir el conjunto de entrenamiento: Ejemplo: Para la red perceptron de la función lógica OR, se tiene el siguiente patrón de entrenamiento: P = [0 0 1 1; 0 1 0 1]; T = [0 1 1 1]; b. Crear la red Perceptron se usa el comando newp. - Para obtener la ayuda sobre este comando, ingresar en el CW: help newp Se mostrará la ayuda:
  • 3. Syntax net = newp(p,t,tf,lf) Description Perceptrons are used to solve simple (i.e. linearly separable) classification problems. NET = NEWP(P,T,TF,LF) takes these inputs, P - RxQ matrix of Q1 representative input vectors. T - SxQ matrix of Q2 representative target vectors. TF - Transfer function, default = 'hardlim'. LF - Learning function, default = 'learnp'. Returns a new perceptron. The transfer function TF can be HARDLIM or HARDLIMS. The learning function LF can be LEARNP or LEARNPN. Ejemplo: net = newp([0 1; -2 2],1); c. Inicializar la red; inicializar W y b. Ejemplo: Pesos iniciales: net.iw{1,1}=[1 1] W0= net.iw{1,1} % Se guardan los pesos iniciales. Bias inicial: net.b{1}=0.5 b0= net.b{1} %Se guardan los bias iniciales. - Para definir el número de etapas: Ejemplo: net.trainParam.epochs=20 d. Entrenar la red. Para entrenar la red se usa el comando train. Ejemplo: net = train(net, P, T); e. Verificar la red entrenada, - Para probar (simular) la red: Ejemplo: Y = net(P) f. Mostrar los W y b antes de entrenar.
  • 4. W0 b0 g. Graficar el PE. plotpv(P, T) h. Mostrar la LS antes de entrenar. plotpc(W0, b0) i. Mostrar los W y b después de entrenar Wf=net.iw{1, 1} bf=net.b{1} j. Mostrar la LS después de entrenar. plotpc(Wf, bf) 4. ENTRENAR LA RED PERCEPTRON MEDIANTE LA HERRAMIENTA NNTOOL DEL MATLAB Ingresar a la herramienta: nntool Se mostrará la ventana administrador de red y datos: Pinchar en New y aparecerá:
  • 5. Cambiar en Name de network1 a SLP1 y seleccionar en Network Type Percpetron Pinchar en la pestaña Data:
  • 6. Ingresar en Name: P, y en Data Type seleccionar Inputs, y en Value ingresar [0 0 1 1; 0 1 0 1], al final pinchar en el botón Create. Aparecerá el siguiente mensaje: Pinchar en OK para cerrar este mensaje. Ingresar en Name: T, y en Data Type seleccionar Targets, y en Value ingresar [0 1 1 1], al final pinchar en el botón Create. Aparecerá el siguiente mensaje: Pinchar en OK para cerrar este mensaje. Pinchar en la pestaña Network de la ventana.
  • 7. Pinchar en el botón Create. Muestra en siguiente mensaje: Indicando que se debe seleccionar las entradas. Vuelva a la ventana pinchando en OK y corrija. Debe quedar como se muestra:
  • 8. Pinchar en el botón créate. Debe mostrar el siguiente mensaje: Pinchar en OK para cerrar el mensaje. Pinchar en view para ver la red creada. Se muestra asi: Cerrar la ventana pinchando en X. Pinchar en el botón Close. La ventana administrador de red y datos ahora muestra lo siguiente: Seleccionar en la sección Networks a SLP1:
  • 9. Pinchar en el botón Open y se muestra al red SLP1: Seleccionar la pestaña Train: Seleccionar los Inputs y Targets ingresados:
  • 10. Pinchar en el botón Train Network y se mostrará:: Pinchar en Performance y se muestra: Cerrar la ventana pinchando en X. Otra vez pinchar en X para cerrar la ventana Neural Network training.
  • 11. Pinchar en la pestaña Simulate para verificar la red. Seleccione las Inputs P. Pinchar en Simulate Network y se muestra el mensaje: Cerrar la ventana del mensaje pinchando en Ok. En la ventana Administrador de red y datos pinchar en SLP1_outputs, se muestra: 5. ENTRENAR LA RED ADALINE MEDIANTE COMANDOS DEL COMMAND WINDOWS MatLab dispone de una función para crear redes Adaline: newlin - Para obtener ayuda sobre este comando, en el CW ingresar: help newlin NEWLIN Create a linear layer. Syntax net = newlin(P,S,ID,LR) net = newlin(P,T,ID,LR) Description Linear layers are often used as adaptive filters for signal processing and prediction. NEWLIN(P,S,ID,LR) takes these arguments, P - RxQ matrix of Q representative input vectors. S - Number of elements in the output vector. ID - Input delay vector, default = [0].
  • 12. LR - Learning rate, default = 0.01; and returns a new linear layer. NEWLIN(P,T,ID,LR) takes the same arguments except for T - SxQ2 matrix of Q2 representative S-element output vectors. NET = NEWLIN(PR,S,0,P) takes an alternate argument, P - Matrix of input vectors. and returns a linear layer with the maximum stable learning rate for learning with inputs P. Ejemplo: - Patrón de entrenamiento: P = [2 1 -2 -1; 2 -2 2 1]; T = [0 1 0 1]; - Creación de la red Adaline: net = newlin(P,T); - Definiendo parámetros de la red: net.trainParam.goal= 0.1; - Pesos y bias iniciales: Wi = net.iw{1,1} Wi = 0 0 bi = net.b(1) bf = [0] - Entrenando la red net = train(net,P,T); El problema se ejecuta para 64 épocas, alcanzando un error medio cuadrático de 0.0999. - Pesos y bias finales Wf = net.iw{1,1} Wf = -0.0615 -0.2194 bf = net.b(1) bf = [0.5899] - Simulación de la red A = sim(net, P) A = 0.0282 0.9672 0.2741 0.4320
  • 13. - Cálculo del error: err = T - sim(net,P) err = -0.0282 0.0328 -0.2741 0.5680 6. ENTRENAR LA RED ADALINE MEDIANTE LA HERRAMIENTA NNTOOL DEL MATLAB Utilizar la herramienta nntool para realizar el entrenamiento de la misma red del apartado anterior. 7. ENTRENAR LA RED BACKPROPAGATION MEDIANTE COMANDOS DEL COMMAND WINDOWS MatLab dispone de una función para crear redes Adaline: newlin - Para obtener ayuda sobre este comando: En el CW ingresar: help newff NEWFF Create a feed-forward backpropagation network. Syntax net = newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF) Description NEWFF(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF) takes, P - RxQ1 matrix of Q1 representative R-element input vectors. T - SNxQ2 matrix of Q2 representative SN-element target vectors. Si - Sizes of N-1 hidden layers, S1 to S(N-1), default = []. (Output layer size SN is determined from T.) TFi - Transfer function of ith layer. Default is 'tansig' for hidden layers, and 'purelin' for output layer. BTF - Backprop network training function, default = 'trainlm'. BLF - Backprop weight/bias learning function, default = 'learngdm'. PF - Performance function, default = 'mse'. IPF - Row cell array of input processing functions. Default is {'fixunknowns','removeconstantrows','mapminmax'}. OPF - Row cell array of output processing functions. Default is {'removeconstantrows','mapminmax'}. DDF - Data division function, default = 'dividerand'; and returns an N layer feed-forward backprop network. The transfer functions TF{i} can be any differentiable transfer function such as TANSIG, LOGSIG, or PURELIN. The training function BTF can be any of the backprop training functions such as TRAINLM, TRAINBFG, TRAINRP, TRAINGD, etc. *WARNING*: TRAINLM is the default training function because it is very fast, but it requires a lot of memory to run. If you get an out-of-memory error when training try doing one of these: (1) Slow TRAINLM training, but reduce memory requirements, by setting NET.trainParam.mem_reduc to 2 or more. (See HELP TRAINLM.) (2) Use TRAINBFG, which is slower but more memory efficient than TRAINLM.
  • 14. (3) Use TRAINRP which is slower but more memory efficient than TRAINBFG. The learning function BLF can be either of the backpropagation learning functions such as LEARNGD, or LEARNGDM. The performance function can be any of the differentiable performance functions such as MSE or MSEREG. Ejemplo 1: Backpropagation - Patrón de entrenamiento: P = [0 1 2 3 4 5 6 7 8 9 10]; T = [0 1 2 3 4 3 2 1 2 3 4]; - Creación de la BP con 5 neuronas en la CO. net = newff(P,T,5); - Prueba de la red antes del entrenamiento. Y = sim(net,P); - Gráfico de entradas versus salidas y salidas deseadas antes del entrenamiento plot(P,T,P,Y,'o'); - Entrenamiento de la red para 50 épocas. net.trainParam.epochs = 50; net = train(net,P,T); Y = sim(net,P); - Gráfico de entradas versus salidas y salidas deseadas después del entrenamiento figure, plot(P,T,P,Y,'o'); Ejemplo 2. Función lógica XOR, entrada binaria y salida binaria: 2 - 4 – 1 - P Entradas y T salidas deseadas P = [0 0 1 1; 0 1 0 1]; T = [0 1 1 0]; - Creación de la red net = newff(minmax(p), [4 1], {'logsig','logsig'}, 'trainlm'); Y = sim(net,P); - Gráfico de entradas versus salidas y salidas deseadas plot(P,T,P,Y,'o'); - Entrenamiento net.trainParam.show = 25; net.trainParam.lr =0.02; net.trainParam.epochs = 400; net.trainParam.goal = 1e-8;
  • 15. [net,tr] = train(net,P,T); - Simulación Y = sim(net,P); - Gráfico de entradas versus salidas y salidas deseadas figure, plot(P,T,P,Y,'o'); e = T -round(Y) 8. ENTRENAR LA RED BACKPROPAGATION MEDIANTE LA HERRAMIENTA NNTOOL DEL MATLAB Utilizar la herramienta nntool para realizar el entrenamiento de la misma red del apartado anterior. PROCEDIMIENTO 1. Gráfico del patrón de entrenamiento del Perceptron. a. GPE del Perceptron de: i. La función lógica (FL) Bicondicional. ii. La función lógica ~(A XOR B) Ù A iii. La expresión lógica (~A B) Ù (A v ~C) iv. La expresión lógica ~(A=B) = ~ C v. X1=[-0.2 1.0 0.4 -1.0 -1.0 0.5], X2=[1.0 0.8 0.2 -0.4 -0.3 1.0], D1=[1 1 -1 1 1 -1] y D2 = [1 -1 -1 -1 1 1] vi. X1 = [1.2 -1.8 -1.4 0.8 -0.6 0.9 1.0 -0.8 -1.0 0.5], X2 =[ 0.6 -0.8 -1.4 1.2 -1.0 1.0 0.5 -0.5 -1.0 1.0], D1=[1 1 0 0 1 1 1 0 0 1] y D2 = [1 1 0 1 1 11 0 1 1] En cada una de ellas responder: ¿Es entrenable? Justificar su respuesta. b. Diseñar un Perceptron de una expresión lógica (EL), que contenga 3 funciones lógicas de 2 y 3 entradas entrenable. c. Diseñar un Perceptron de 2 y 3 entradas entrenable, donde cada entrada tenga 20 valores, con FT hardlims. 2. Mediante comando del CW entrenar las redes Perceptron entrenables de la pregunta del procedimiento 1. Si no fueran entrenables hacerlas entrenables. En cada uno: a. Realizar gráficos del PE, b. LS/PS antes y después del entrenamiento y c. Mostrar los W y b, iniciales y los finales. d. Indicar cuál es el efecto del número de épocas. 3. Mediante la herramienta nntool entrenar las redes Perceptron entrenables de la pregunta del procedimiento 1. Si no fueran entrenables hacerlas entrenables. En cada uno: a. Mostrar la performance del entrenamiento. Explicar. b. Mostrar la performance el estado del entrenamiento. Explicar. 4. Entrenar redes Adaline de aproximación lineal de las funciones, con sentencias del CW: a. y = 2x1 – x2 + 1.5. Donde P = [1 -2 3 -1; 3 2 4 -3], W0 = [2 -1] y b0=1.5. Graficar la función. b. y = 2x1 – x2 + 3.
  • 16. Donde P = [-2 -1 0 0 1 2; 1 -2 1 -1 2 1], Tolerancia del error=0.0001, iteraciones=200. Hallar el error medio de salida (mae) y el error medio del clasificador. Graficar la función. c. y = 0.5x1 + 0.5x2 + 0.5. Donde P = [1 1 -1 -1; 1 -1 1 -1], T= [1 1 1 -1], Tolerancia del error=0.1, iteraciones=100. Hallar el error medio de salida (mae) y el error medio del clasificador. Graficar la función. 5. Utilizar la herramienta nntool para entrenar redes Adaline del punto anterior. 6. Entrenar tres (03) redes Backpropagation con sentencias del CW indicando su utilidad práctica. Ejemplo: Utilidad práctica: Aproximador de funciones: y=x2+3x Donde P=-4:0.5:4; Regla de Aprendizaje: Levenrg-Marquardt. Graficar la función. Parámetros de la red: - Mostrar los resultados cada 50 iteraciones. - Tasa de aprendizaje: 0.1 - Número máximo de iteraciones: 200 - Tolerancia del error como criterio de parada: 0.0001 - Valor mínimo del gradiente para parar: 0.00001 7. Utilizar la herramienta nntool para entrenar las redes Backpropagation de punto anterior. 8. Entrenar tres (03) redes de Base Radial con sentencias del CW indicando su utilidad práctica. Ejemplo: Utilidad práctica: Aproximador de funciones: function [W phi]=rbff(X,Y,Xc) Nc = size(Xc,1); %número de centros W = zeros(Nc,1); %Inicializar matriz de pesos [z phi] = rbfsim(Xc,X,W); %simular RFBR A=pinv(phi'*phi)*phi'; %calcular la pseudo inversa de phi W=A*Y; %Hallar matriz de pesos function [z phi]=rbfsim(Xc,X,W) Nc = size(Xc,1); %número de centros N_p = size(X,1); %número de puntos k = ones(Nc); phi=zeros(N_p,Nc); %salidas de la RFBR for i=1:Nc if k(i)==0 phi(:,i)=1; else r=sqrt(sum((repmat(Xc(i,:),N_p,1)-X(:,:)).^2,2));%distancia de Xc a X phi(:,i)=exp(-k(i).*r.^2); end end z=phi*W; %1. Inicialización de Parámetros fprintf(1,'n Ejemplo de aproximación de funciones a través de redes RFBRn') %El usuario debe indicar el número de puntos que desea de la función a aproximar Nt = input('n Indicar el número de puntos que desea aproximarn'); %El usuario debe indicar el número de centros de la red RBF
  • 17. Nc = input('n Indicar el número de centros de la red RBF que desea:n'); Xt = rand(Nt,1); %entradas de la red Yt = rand(Nt,1); %salidas de la red (función a aproximar) Xc = rand(Nc,1); %centros de la RFBR %2. Aprendizaje [W] = rbff(Xt,Yt,Xc); %matriz de pesos por entrenamiento %3. Simulación y Traficación Np = 100*ones(1,1); %número de puntos a calcular Xp = linspace(0,1,Np(1))'; %puntos a calcular [Yd phi]= rbfsim(Xc,Xp,W); figure(1) plot(Xp,Yd) hold on plot(Xt,Yt,'k*') hold off 9. Utilizar la herramienta nntool para entrenar redes de Base Radial del punto anterior. 10. Entrenar tres (03) redes de Kohonen mediante sentencias del CW indicando su utilidad práctica. 11. Utilizar la herramienta nntool para entrenar redes de Kohonen del punto anterior. 12. Entrenar tres (03) redes de Hopfield con sentencias del CW indicando su utilidad práctica. 13. Utilizar la herramienta nntool para entrenar redes de Hopfield del punto anterior. INFORME FINAL El Informe de Laboratorio es un documento gráfico en lo posible y es redactado en Word con el desarrollo del laboratorio. Niveles de Informe: • Primer nivel: Observaciones. Imágenes con comentarios cortos. Redactar al ir desarrollando el laboratorio. (Requiere desarrollar el laboratorio). • Segundo nivel: Conclusiones. Redactar al terminar el laboratorio. (Requiere haber desarrollado el laboratorio). • Tercer Nivel: Recomendaciones. (Requiere la lectura de otras fuentes). Dentro de su Carpeta Personal del Dropbox crear una carpeta para el Laboratorio 1 con el siguiente formato: SIRN_PaternoM_L2 Esta carpeta debe contener el Informe de Laboratorio, los códigos, las fuentes y recursos utilizados. Las fuentes deben conservar el nombre original de archivo y se debe agregar en su nombre “_L2” al final. CUESTIONARIO 1. Muestre los resultados de los procedimientos y ejercicios del laboratorio. 2. Dar un ejemplo de aplicación práctica de las redes de este laboratorio: a. SLP. b. Adaline.
  • 18. c. Backpropagation. d. Base Radial. e. Kohonen. f. Hopfield. 3. En cada procedimiento y ejercicio mostrar sus observaciones, conclusiones y recomendaciones. FUNCIONES DE MATLAB: plotpc, plotpv, nntool, newp, newlin, newff, newrb, newsom, newhop, train, y sim.