SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Ing. José C. Benítez P.
Inteligencia Artificial
(W0I9)
La RNA Perceptron
Laboratorio: 4
 Objetivo
 Fundamento teórico: La RNA Perceptron.
 Implementación de la RNA Perceptron.
 Conclusiones.
 Tarea.
Las RNA Perceptron
2
Objetivo
 Revisar los conceptos de las RNA Perceptron.
 Mediante el Toolbox de Redes Neuronales de MatLab se
implementara algunas Perceptron.
 Identificar el proceso de implementación de una RNA.
 Al final del laboratorio el alumno debe presentar un
documento grafico en word con el desarrollo del
laboratorio y adjuntar sus fuentes que le han ayudado a
fortalecer sus destrezas en el presente laboratorio.
 Presentar las fuentes y el informe en USB.
3
 El Perceptron es una RNA que está en capacidad de realizar separaciones
lineales veamos como se puede realizar un problema de estos con ayuda
del toolbox de redes neuronales del MATLAB
 Entre las funciones utilizadas por el MATLAB para el Perceptron se
tienen:
 NEWP – Crea el Perceptron.
 PLOTPV - Grafica los vectores de entrada cuando la salida es 1/0.
 PLOTPC - Grafica la línea de clasificación que genera el Perceptron.
 TRAIN - Entrena la red con el algoritmo del Perceptron.
 SIM - Simula o prueba la red.
Las RNA Perceptron
4
1. Gráfica de patrones de aprendizaje:
Los patrones de aprendizaje se utilizarán para entrenar las redes
neuronales.
En Matlab:
>> X=[1 1 0 0; 1 0 1 0]; %Posibles entradas en la RNA
>> D=[1 0 0 0] %Es el resultado de la función lógica AND
>> plotpv(X,D) %Grafica los patrones de aprendizaje.
Nos mostrará el gráfico mostrado.
Las RNA Perceptron
Como se puede observar, MATLAB grafica los
puntos dados en el vector X y le asigna un
símbolo para la clasificación dependiendo de
la salida deseada, en esta caso:
Para salida deseada cero (0) = o
Para salida deseada uno (1) = +
5
2. El problema de función lógica AND
La función lógica se define como:
X=[1 1 0 0; 1 0 1 0] % Las dos variables lógicas.
D=[1 0 0 0] % El resultado de hacer AND con las dos variables lógicas
Solución:
Pasos para resolver este problema con el MATLAB :
a. Definición del problema
b. Inicialización de la RNA
c. Entrenamiento de la RNA
d. Validación de la RNA
Las RNA Perceptron
X D
6
a. Definición del problema
Se debe proporcionar a la RNA la información necesaria para que puede
llevar la tarea con éxito.
Se debe definir los patrones de aprendizaje de la RNA que se van a
utilizar en el proceso de entrenamiento.
En MATLAB esto se hace definiendo dos matrices una para las entradas
(X) y otra para las salidas (D) donde cada patrón de aprendizaje se define
por columnas.
En Matlab:
>> X=[0 0 1 1 ; 0 1 0 1 ] ; % Definición de la función lógica AND
>> D=[0 0 0 1] ; %Las salidas
Para ver la gráfica de estos patrones se usa el comando plotpv
>> plotpv(X,D)
Las RNA Perceptron
7
La gráfica resultante es la que se muestra y corresponde al patrón de
aprendizaje:
Las RNA Perceptron
8
b. Inicialización de la red neuronal
Ahora se crea la RNA, para el caso del Perceptron se usa la función newp
de la siguiente manera:
>> red = newp([0 1;0 1],1)
Donde:
red = objeto donde se va almacenar la red creada por el MATLAB
[0 1;0 1] = Rango del valor de la entrada de la RNA. El número de filas de
esta matriz lo utilizará MATLAB para definir el número de
entradas que tiene la RNA.
1 = Número de neuronas que tiene la red neuronal en la capa de salida.
Para mayor información:
En Matlab:
>> help newp
Las RNA Perceptron
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.
9
Ahora se procederá a generar unos pesos
iniciales a la red, este paso no es necesario
hacerlo, pero permite generar un Perceptron
con una superficie de separación conocida.
>> red.iw{1,1}=[1 1];
>> red.b{1}=0.5;
>> Pesos=red.iw{1,1};
>> Bias=red.b{1};
Con el siguiente comando se grafica la línea
de separación que tiene el Perceptron
>>plotpc(Pesos,Bias)
Este comando agrega la recta clasificadora al
gráfico generado por plotpv, la gráfica
quedaría así:
Las RNA Perceptron
10
c. Entrenamiento de la RNA
El entrenamiento de la red se realiza con el
comando train el cual implementa un
entrenamiento con la regla de aprendizaje
tipo Perceptron.
En MATLAB:
>> red = train(red,X,D)
Donde
red = red a ser entrenada por el MATLAB.
X = Entrada de los patrones de aprendizaje.
D = Salida deseada de los patrones de
aprendizaje.
Las RNA Perceptron
11
Al entrenar MATLAB nos grafica la manera
como va evolucionando error al transcurrir
las iteraciones.
Las RNA Perceptron
12
Cuando se ha entrenado la red, se puede
visualizar en la gráfica donde se muestra la
línea clasificadora que la red ha llevado a
cabo la tarea.
En Matlab:
>> figure;
>> Pesos=red.iw{1,1};
>> Bias=red.b{1};
>> plotpv(X,D)
>> plotpc(Pesos,Bias)
Las RNA Perceptron
13
d. Validación de la RNA
Luego de tener una RNA entrenada se procede a validar si
el comportamiento de la misma es correcto o no, para esto
se usa el comando sim como se muestra a continuación:
>> prueba1=[0;0]; % Patrón de prueba
>> % Prueba de la red ante el patrón de prueba “prueba1”.
W son los pesos y b el bias de la red entrenada.
>> a = sim(red, prueba1)
a =
0
>> prueba2=[1;1]; % Otro patrón de prueba “prueba2”.
>> a = sim(red, prueba2)
a =
1
Como se puede observar el comportamiento de la red es el
adecuado por lo que se da por finalizado el entrenamiento.
Las RNA Perceptron
14
Mostrando la clasificación
En Matlab:
>> red.iw{1,1} % Nuevos Pesos
ans =
2 1
>> red.b{1} %Nuevo Bias
ans =
-2.5000
>> plotpv(X,D)
>> plotpc(Pesos,Bias)
Las RNA Perceptron
X1 X2 D
0 0 0
0 1 0
1 1 0
1 1 1
15
Mostrando la clasificación
Las RNA Perceptron
16
3. Un problema de clasificación.
La función se define como:
Pasos para resolver este problema con el MATLAB :
a. Definición del problema
b. Inicialización de la RNA
c. Entrenamiento de la RNA
d. Validación de la RNA
Las RNA Perceptron
X D
X1 X2 D1 D2
0.1 0.2 1 1
0.2 0.1 1 1
-0.9 0.8 1 0
-0.7 -0.8 0 0
0.5 -0.5 0 1
17
a. Definición del problema
La función se define como:
X=[0.1 0.2 -0.9 -0.7 0.5; 0.2 0.1 0.8 -0.8 -0.5] % Las
entradas de la RNA.
D=[1 1 1 0 0; 1 1 0 0 1] % El resultado deseado de la RNA.
En Matlab:
>> X=[0.1 0.2 -0.9 -0.7 0.5; 0.2 0.1 0.8 -0.8 -0.5]
>> D=[1 1 1 0 0; 1 1 0 0 1]
>> plotpv(X,D)
Las RNA Perceptron
X1 X2 D1 D2
0.1 0.2 1 1
0.2 0.1 1 1
-0.9 0.8 1 0
-0.7 -0.8 0 0
0.5 -0.5 0 1
18
b. Inicialización de la RNA
En Matlab:
>> red=newp([-0.9 0.5;-0.8 0.8],2);
Las RNA Perceptron
X1 X2 D1 D2
0.1 0.2 1 1
0.2 0.1 1 1
-0.9 0.8 1 0
-0.7 -0.8 0 0
0.5 -0.5 0 1
19
c. Entrenamiento de la RNA
En Matlab:
>> red=train(red,X,D);
Mostrar los pesos y las bias calculados:
>> red.iw{1,1}
ans =
0.8000 1.0000
2.2000 -0.3000
>> red.b{1}
ans =
0
0
>>
Las RNA Perceptron
X1 X2 D1 D2
0.1 0.2 1 1
0.2 0.1 1 1
-0.9 0.8 1 0
-0.7 -0.8 0 0
0.5 -0.5 0 1
20
d. Validación de la RNA
En Matlab:
>> prueba1=[0.1;0,2]
>> a=sim(red, prueba1)
a =
1
1
>> prueba2=[-0.9;0,8]
>> b=sim(red, prueba2)
b =
1
0
>> prueba3=[-0.5;0,2]
>> a=sim(red, prueba3)
c =
0
0
Las RNA Perceptron
X1 X2 D1 D2
0.1 0.2 1 1
0.2 0.1 1 1
-0.9 0.8 1 0
-0.7 -0.8 0 0
0.5 -0.5 0 1
21
Mostrando la clasificación
En Matlab:
>> Pesos=red.iw{1,1}
Pesos =
0.8000 1.0000
2.2000 -0.3000
>> Bias=red.b{1}
Bias =
0
0
>> plotpc(Pesos,Bias)
Las RNA Perceptron
X1 X2 D1 D2
0.1 0.2 1 1
0.2 0.1 1 1
-0.9 0.8 1 0
-0.7 -0.8 0 0
0.5 -0.5 0 1
22
Mostrando la clasificación
Las RNA Perceptron
X1 X2 D1 D2
0.1 0.2 1 1
0.2 0.1 1 1
-0.9 0.8 1 0
-0.7 -0.8 0 0
0.5 -0.5 0 1
23
Las RNA Perceptron - Tarea
1. Graficar los patrones de aprendizaje de las funciones lógicas:
• OR
• NOT
• XOR
• CONDICIONAL
• LA BICONDICIONAL
2. Graficar los patrones de aprendizaje de:
X1 X2 D1 D2
-0.5 -1.0 0 1
1.0 1.0 1 1
1.0 0.5 1 0
-1.0 -0.5 0 0
-1.0 -1.0 0 1
0.5 1.0 1 1
24
3. Con ayuda del toolbox de redes neuronales del MATLAB, clasificar
usando un Perceptron el siguiente patrón de aprendizaje.
X1 X2 D
-0.5 -1.0 0
1.0 1.0 1
1.0 0.5 1
-1.0 -0.5 0
-1.0 -1.0 0
0.5 1.0 1
4. Trate de resolver el problema de la XOR con una RNA Perceptron, ¿a
que conclusión llega?.
Las RNA Perceptron - Tarea
25
5. Diseñe y entrene usando el toolbox de redes neuronales del MATLAB
un Perceptron que pueda identificar los números del 0 al 9 donde
cada número se puede definir en una matriz de 5*3, por ejemplo el
número 2 sería :
1 1 1
0 0 1
1 1 1
1 0 0
1 1 1
6. Modifique el programa del Perceptron presentado de tal forma que
permita trabajar un Perceptron de N neuronas en la capa de entrada y
de M neuronas en la capa de salida, pruebe el Perceptron codificado
con el ejercicio anterior.
Las RNA Perceptron - Tarea
26
Informe de Laboratorio
 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 lectura de otras
fuentes).
 Dentro de su Carpeta Personal del Dropbox crear una carpeta
para el laboratorio 4 con el siguiente formato:
SIRN_PaternoM_Lab4
 Adjuntar fuentes que le han ayudado en esta carpeta creada.
 Las fuentes deben conservar el nombre original de archivo y se
debe agregar _L4 al final.
 Presentar el Informe de Laboratorio 4 en esta carpeta creada.
27
Laboratorio 4. Las RNA Perceptron
Blog del curso:
utpsirn.blogspot.com
28

Más contenido relacionado

La actualidad más candente

Banda ancha y banda base
Banda ancha y banda baseBanda ancha y banda base
Banda ancha y banda base
Juliitoo Mejia
 
Lecture 18 channel capacity
Lecture 18 channel capacityLecture 18 channel capacity
Lecture 18 channel capacity
nica2009
 
Códigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionalesCódigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionales
EduardoMedrano19
 
Lecture 19 codificación para control de errores. generación códigos lineales.
Lecture 19 codificación para control de errores. generación códigos lineales.Lecture 19 codificación para control de errores. generación códigos lineales.
Lecture 19 codificación para control de errores. generación códigos lineales.
nica2009
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
laura1352
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De Compilador
BigbossH
 
Protocolo ventana deslizante
Protocolo ventana deslizanteProtocolo ventana deslizante
Protocolo ventana deslizante
asanterom
 

La actualidad más candente (20)

Banda ancha y banda base
Banda ancha y banda baseBanda ancha y banda base
Banda ancha y banda base
 
Regla de aprendizaje del perceptrón simple
Regla de aprendizaje del perceptrón simpleRegla de aprendizaje del perceptrón simple
Regla de aprendizaje del perceptrón simple
 
Arp,rarp
Arp,rarpArp,rarp
Arp,rarp
 
REDES NEURONALES ADALINE
REDES NEURONALES ADALINEREDES NEURONALES ADALINE
REDES NEURONALES ADALINE
 
09 Conjunto de Instrucciones de los Atmega
09 Conjunto de Instrucciones  de los Atmega09 Conjunto de Instrucciones  de los Atmega
09 Conjunto de Instrucciones de los Atmega
 
Codificacion BCH
Codificacion BCHCodificacion BCH
Codificacion BCH
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Heuristicos Para Vrp
Heuristicos Para VrpHeuristicos Para Vrp
Heuristicos Para Vrp
 
Radius
RadiusRadius
Radius
 
M qam
M qamM qam
M qam
 
Lecture 18 channel capacity
Lecture 18 channel capacityLecture 18 channel capacity
Lecture 18 channel capacity
 
Códigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionalesCódigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionales
 
The Theory and Implementation of DVFS on Linux
The Theory and Implementation of DVFS on LinuxThe Theory and Implementation of DVFS on Linux
The Theory and Implementation of DVFS on Linux
 
Lecture 19 codificación para control de errores. generación códigos lineales.
Lecture 19 codificación para control de errores. generación códigos lineales.Lecture 19 codificación para control de errores. generación códigos lineales.
Lecture 19 codificación para control de errores. generación códigos lineales.
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
 
Debug dpdk process bottleneck & painpoints
Debug dpdk process bottleneck & painpointsDebug dpdk process bottleneck & painpoints
Debug dpdk process bottleneck & painpoints
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De Compilador
 
Protocolo ventana deslizante
Protocolo ventana deslizanteProtocolo ventana deslizante
Protocolo ventana deslizante
 
Problema de las 8 reinas
Problema de las 8 reinasProblema de las 8 reinas
Problema de las 8 reinas
 
Telefonía IP (SIP, Diameter, RTP/RTPC)
Telefonía IP (SIP, Diameter, RTP/RTPC)Telefonía IP (SIP, Diameter, RTP/RTPC)
Telefonía IP (SIP, Diameter, RTP/RTPC)
 

Destacado

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_sl3 salidas de rna 2012-2
 Utp sirn_sl3 salidas de rna 2012-2 Utp sirn_sl3 salidas de rna 2012-2
Utp sirn_sl3 salidas de rna 2012-2
jcbenitezp
 
Utp lpi_s4_instrucciones de control 2012-2
 Utp lpi_s4_instrucciones de control 2012-2 Utp lpi_s4_instrucciones de control 2012-2
Utp lpi_s4_instrucciones de control 2012-2
jcbenitezp
 
Utp sirn_sl7 conjuntos difusos i 2012-2
 Utp sirn_sl7 conjuntos difusos i 2012-2 Utp sirn_sl7 conjuntos difusos i 2012-2
Utp sirn_sl7 conjuntos difusos i 2012-2
jcbenitezp
 
Utp lpi_s5_arreglos 2012-2
 Utp lpi_s5_arreglos 2012-2 Utp lpi_s5_arreglos 2012-2
Utp lpi_s5_arreglos 2012-2
jcbenitezp
 
Utp pro_s2y3_elementos del lenguaje c nuevo
 Utp pro_s2y3_elementos del lenguaje c nuevo Utp pro_s2y3_elementos del lenguaje c nuevo
Utp pro_s2y3_elementos del lenguaje c nuevo
jcbenitezp
 
Utp lpi_s2y3_elementos del lenguaje c nuevo
 Utp lpi_s2y3_elementos del lenguaje c nuevo Utp lpi_s2y3_elementos del lenguaje c nuevo
Utp lpi_s2y3_elementos del lenguaje c nuevo
jcbenitezp
 
Uni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdmaUni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdma
jcbenitezp
 
Utp lpi_s1_introduccion al lenguaje c
 Utp lpi_s1_introduccion al lenguaje c Utp lpi_s1_introduccion al lenguaje c
Utp lpi_s1_introduccion al lenguaje c
jcbenitezp
 

Destacado (9)

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_sl3 salidas de rna 2012-2
 Utp sirn_sl3 salidas de rna 2012-2 Utp sirn_sl3 salidas de rna 2012-2
Utp sirn_sl3 salidas de rna 2012-2
 
Utp lpi_s4_instrucciones de control 2012-2
 Utp lpi_s4_instrucciones de control 2012-2 Utp lpi_s4_instrucciones de control 2012-2
Utp lpi_s4_instrucciones de control 2012-2
 
Utp sirn_sl7 conjuntos difusos i 2012-2
 Utp sirn_sl7 conjuntos difusos i 2012-2 Utp sirn_sl7 conjuntos difusos i 2012-2
Utp sirn_sl7 conjuntos difusos i 2012-2
 
Utp lpi_s5_arreglos 2012-2
 Utp lpi_s5_arreglos 2012-2 Utp lpi_s5_arreglos 2012-2
Utp lpi_s5_arreglos 2012-2
 
Utp pro_s2y3_elementos del lenguaje c nuevo
 Utp pro_s2y3_elementos del lenguaje c nuevo Utp pro_s2y3_elementos del lenguaje c nuevo
Utp pro_s2y3_elementos del lenguaje c nuevo
 
Utp lpi_s2y3_elementos del lenguaje c nuevo
 Utp lpi_s2y3_elementos del lenguaje c nuevo Utp lpi_s2y3_elementos del lenguaje c nuevo
Utp lpi_s2y3_elementos del lenguaje c nuevo
 
Uni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdmaUni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdma
 
Utp lpi_s1_introduccion al lenguaje c
 Utp lpi_s1_introduccion al lenguaje c Utp lpi_s1_introduccion al lenguaje c
Utp lpi_s1_introduccion al lenguaje c
 

Similar a Utp ia_sl4 la rna perceptron

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
 
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
 
Utp sirn_sl2 la rna perceptron
 Utp sirn_sl2 la rna perceptron Utp sirn_sl2 la rna perceptron
Utp sirn_sl2 la rna perceptron
jcbenitezp
 
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 lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2
jcbp_peru
 
Utp 2015-2_ia lab2
 Utp 2015-2_ia lab2 Utp 2015-2_ia lab2
Utp 2015-2_ia lab2
jcbp_peru
 
Utp ia_sl2 patrones de aprendizaje de las rna
 Utp ia_sl2 patrones de aprendizaje de las rna Utp ia_sl2 patrones de aprendizaje de las rna
Utp ia_sl2 patrones de aprendizaje de las rna
jcbenitezp
 
REDES NEURONALES Base Radial
REDES NEURONALES Base RadialREDES NEURONALES Base Radial
REDES NEURONALES Base Radial
ESCOM
 
Utp 2015-1_ia lab2
 Utp 2015-1_ia lab2 Utp 2015-1_ia lab2
Utp 2015-1_ia lab2
jcbp_peru
 
Utp sirn_2014-2 lab2
 Utp sirn_2014-2 lab2 Utp sirn_2014-2 lab2
Utp sirn_2014-2 lab2
jcbp_peru
 
Utp ia_2014-2 lab2
 Utp ia_2014-2 lab2 Utp ia_2014-2 lab2
Utp ia_2014-2 lab2
jcbp_peru
 
Utp ia_2014-2 lab2
 Utp ia_2014-2 lab2 Utp ia_2014-2 lab2
Utp ia_2014-2 lab2
jcbp_peru
 
Utp 2015-1_sirn lab2
 Utp 2015-1_sirn lab2 Utp 2015-1_sirn lab2
Utp 2015-1_sirn lab2
jcbp_peru
 
Utp sirn_2014-2 lab2
 Utp sirn_2014-2 lab2 Utp sirn_2014-2 lab2
Utp sirn_2014-2 lab2
jcbp_peru
 
Utp sirn_2014-2 lab2
 Utp sirn_2014-2 lab2 Utp sirn_2014-2 lab2
Utp sirn_2014-2 lab2
jcbp_peru
 

Similar a Utp ia_sl4 la rna perceptron (20)

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
 
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
 
Utp sirn_sl2 la rna perceptron
 Utp sirn_sl2 la rna perceptron Utp sirn_sl2 la rna perceptron
Utp sirn_sl2 la rna perceptron
 
Utp 2015-2_sirn lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2
 
Utp 2015-2_sirn lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2
 
Utp 2015-2_ia lab2
 Utp 2015-2_ia lab2 Utp 2015-2_ia lab2
Utp 2015-2_ia lab2
 
Boletin3
Boletin3Boletin3
Boletin3
 
redes neuronales patrones
redes neuronales patronesredes neuronales patrones
redes neuronales patrones
 
Utp ia_sl2 patrones de aprendizaje de las rna
 Utp ia_sl2 patrones de aprendizaje de las rna Utp ia_sl2 patrones de aprendizaje de las rna
Utp ia_sl2 patrones de aprendizaje de las rna
 
REDES NEURONALES Base Radial
REDES NEURONALES Base RadialREDES NEURONALES Base Radial
REDES NEURONALES Base Radial
 
Utp 2015-1_ia lab2
 Utp 2015-1_ia lab2 Utp 2015-1_ia lab2
Utp 2015-1_ia lab2
 
Utp sirn_2014-2 lab2
 Utp sirn_2014-2 lab2 Utp sirn_2014-2 lab2
Utp sirn_2014-2 lab2
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de Retropropagación
 
Utp ia_2014-2 lab2
 Utp ia_2014-2 lab2 Utp ia_2014-2 lab2
Utp ia_2014-2 lab2
 
Utp ia_2014-2 lab2
 Utp ia_2014-2 lab2 Utp ia_2014-2 lab2
Utp ia_2014-2 lab2
 
Utp 2015-1_sirn lab2
 Utp 2015-1_sirn lab2 Utp 2015-1_sirn lab2
Utp 2015-1_sirn lab2
 
Utp sirn_2014-2 lab2
 Utp sirn_2014-2 lab2 Utp sirn_2014-2 lab2
Utp sirn_2014-2 lab2
 
Utp sirn_2014-2 lab2
 Utp sirn_2014-2 lab2 Utp sirn_2014-2 lab2
Utp sirn_2014-2 lab2
 
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
 
RED NEURONAL Backpropagation
RED NEURONAL BackpropagationRED NEURONAL Backpropagation
RED NEURONAL Backpropagation
 

Más de jcbenitezp

Tarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimientoTarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimiento
jcbenitezp
 
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 gUni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
jcbenitezp
 
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 gUni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
jcbenitezp
 
Calendario academico 2015 02 g
Calendario academico 2015   02 gCalendario academico 2015   02 g
Calendario academico 2015 02 g
jcbenitezp
 
Db vsa-011 registro de asistencia docente ago2015
Db vsa-011 registro de asistencia docente  ago2015Db vsa-011 registro de asistencia docente  ago2015
Db vsa-011 registro de asistencia docente ago2015
jcbenitezp
 
Utp 2015-2_pdi_lab3
 Utp 2015-2_pdi_lab3 Utp 2015-2_pdi_lab3
Utp 2015-2_pdi_lab3
jcbenitezp
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3
jcbenitezp
 
Pdi paterno m_lab2c
Pdi paterno m_lab2cPdi paterno m_lab2c
Pdi paterno m_lab2c
jcbenitezp
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
jcbenitezp
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
jcbenitezp
 
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
 
Utp ia_s1_introduccion ia
 Utp ia_s1_introduccion ia Utp ia_s1_introduccion ia
Utp ia_s1_introduccion ia
jcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
jcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
jcbenitezp
 
Utp sirn_2014-1 lab1
 Utp sirn_2014-1 lab1 Utp sirn_2014-1 lab1
Utp sirn_2014-1 lab1
jcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
jcbenitezp
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
jcbenitezp
 

Más de jcbenitezp (20)

Cap4 jc benitez
Cap4 jc benitezCap4 jc benitez
Cap4 jc benitez
 
Tarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimientoTarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimiento
 
It526 2017 2 ep
It526 2017 2 epIt526 2017 2 ep
It526 2017 2 ep
 
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 gUni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
 
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 gUni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
 
It526 2015 2 pc3
It526 2015 2 pc3 It526 2015 2 pc3
It526 2015 2 pc3
 
Calendario academico 2015 02 g
Calendario academico 2015   02 gCalendario academico 2015   02 g
Calendario academico 2015 02 g
 
Db vsa-011 registro de asistencia docente ago2015
Db vsa-011 registro de asistencia docente  ago2015Db vsa-011 registro de asistencia docente  ago2015
Db vsa-011 registro de asistencia docente ago2015
 
Utp 2015-2_pdi_lab3
 Utp 2015-2_pdi_lab3 Utp 2015-2_pdi_lab3
Utp 2015-2_pdi_lab3
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3
 
Pdi paterno m_lab2c
Pdi paterno m_lab2cPdi paterno m_lab2c
Pdi paterno m_lab2c
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
 
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
 
Utp ia_s1_introduccion ia
 Utp ia_s1_introduccion ia Utp ia_s1_introduccion ia
Utp ia_s1_introduccion ia
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Utp sirn_2014-1 lab1
 Utp sirn_2014-1 lab1 Utp sirn_2014-1 lab1
Utp sirn_2014-1 lab1
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 

Utp ia_sl4 la rna perceptron

  • 1. Ing. José C. Benítez P. Inteligencia Artificial (W0I9) La RNA Perceptron Laboratorio: 4
  • 2.  Objetivo  Fundamento teórico: La RNA Perceptron.  Implementación de la RNA Perceptron.  Conclusiones.  Tarea. Las RNA Perceptron 2
  • 3. Objetivo  Revisar los conceptos de las RNA Perceptron.  Mediante el Toolbox de Redes Neuronales de MatLab se implementara algunas Perceptron.  Identificar el proceso de implementación de una RNA.  Al final del laboratorio el alumno debe presentar un documento grafico en word con el desarrollo del laboratorio y adjuntar sus fuentes que le han ayudado a fortalecer sus destrezas en el presente laboratorio.  Presentar las fuentes y el informe en USB. 3
  • 4.  El Perceptron es una RNA que está en capacidad de realizar separaciones lineales veamos como se puede realizar un problema de estos con ayuda del toolbox de redes neuronales del MATLAB  Entre las funciones utilizadas por el MATLAB para el Perceptron se tienen:  NEWP – Crea el Perceptron.  PLOTPV - Grafica los vectores de entrada cuando la salida es 1/0.  PLOTPC - Grafica la línea de clasificación que genera el Perceptron.  TRAIN - Entrena la red con el algoritmo del Perceptron.  SIM - Simula o prueba la red. Las RNA Perceptron 4
  • 5. 1. Gráfica de patrones de aprendizaje: Los patrones de aprendizaje se utilizarán para entrenar las redes neuronales. En Matlab: >> X=[1 1 0 0; 1 0 1 0]; %Posibles entradas en la RNA >> D=[1 0 0 0] %Es el resultado de la función lógica AND >> plotpv(X,D) %Grafica los patrones de aprendizaje. Nos mostrará el gráfico mostrado. Las RNA Perceptron Como se puede observar, MATLAB grafica los puntos dados en el vector X y le asigna un símbolo para la clasificación dependiendo de la salida deseada, en esta caso: Para salida deseada cero (0) = o Para salida deseada uno (1) = + 5
  • 6. 2. El problema de función lógica AND La función lógica se define como: X=[1 1 0 0; 1 0 1 0] % Las dos variables lógicas. D=[1 0 0 0] % El resultado de hacer AND con las dos variables lógicas Solución: Pasos para resolver este problema con el MATLAB : a. Definición del problema b. Inicialización de la RNA c. Entrenamiento de la RNA d. Validación de la RNA Las RNA Perceptron X D 6
  • 7. a. Definición del problema Se debe proporcionar a la RNA la información necesaria para que puede llevar la tarea con éxito. Se debe definir los patrones de aprendizaje de la RNA que se van a utilizar en el proceso de entrenamiento. En MATLAB esto se hace definiendo dos matrices una para las entradas (X) y otra para las salidas (D) donde cada patrón de aprendizaje se define por columnas. En Matlab: >> X=[0 0 1 1 ; 0 1 0 1 ] ; % Definición de la función lógica AND >> D=[0 0 0 1] ; %Las salidas Para ver la gráfica de estos patrones se usa el comando plotpv >> plotpv(X,D) Las RNA Perceptron 7
  • 8. La gráfica resultante es la que se muestra y corresponde al patrón de aprendizaje: Las RNA Perceptron 8
  • 9. b. Inicialización de la red neuronal Ahora se crea la RNA, para el caso del Perceptron se usa la función newp de la siguiente manera: >> red = newp([0 1;0 1],1) Donde: red = objeto donde se va almacenar la red creada por el MATLAB [0 1;0 1] = Rango del valor de la entrada de la RNA. El número de filas de esta matriz lo utilizará MATLAB para definir el número de entradas que tiene la RNA. 1 = Número de neuronas que tiene la red neuronal en la capa de salida. Para mayor información: En Matlab: >> help newp Las RNA Perceptron 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. 9
  • 10. Ahora se procederá a generar unos pesos iniciales a la red, este paso no es necesario hacerlo, pero permite generar un Perceptron con una superficie de separación conocida. >> red.iw{1,1}=[1 1]; >> red.b{1}=0.5; >> Pesos=red.iw{1,1}; >> Bias=red.b{1}; Con el siguiente comando se grafica la línea de separación que tiene el Perceptron >>plotpc(Pesos,Bias) Este comando agrega la recta clasificadora al gráfico generado por plotpv, la gráfica quedaría así: Las RNA Perceptron 10
  • 11. c. Entrenamiento de la RNA El entrenamiento de la red se realiza con el comando train el cual implementa un entrenamiento con la regla de aprendizaje tipo Perceptron. En MATLAB: >> red = train(red,X,D) Donde red = red a ser entrenada por el MATLAB. X = Entrada de los patrones de aprendizaje. D = Salida deseada de los patrones de aprendizaje. Las RNA Perceptron 11
  • 12. Al entrenar MATLAB nos grafica la manera como va evolucionando error al transcurrir las iteraciones. Las RNA Perceptron 12
  • 13. Cuando se ha entrenado la red, se puede visualizar en la gráfica donde se muestra la línea clasificadora que la red ha llevado a cabo la tarea. En Matlab: >> figure; >> Pesos=red.iw{1,1}; >> Bias=red.b{1}; >> plotpv(X,D) >> plotpc(Pesos,Bias) Las RNA Perceptron 13
  • 14. d. Validación de la RNA Luego de tener una RNA entrenada se procede a validar si el comportamiento de la misma es correcto o no, para esto se usa el comando sim como se muestra a continuación: >> prueba1=[0;0]; % Patrón de prueba >> % Prueba de la red ante el patrón de prueba “prueba1”. W son los pesos y b el bias de la red entrenada. >> a = sim(red, prueba1) a = 0 >> prueba2=[1;1]; % Otro patrón de prueba “prueba2”. >> a = sim(red, prueba2) a = 1 Como se puede observar el comportamiento de la red es el adecuado por lo que se da por finalizado el entrenamiento. Las RNA Perceptron 14
  • 15. Mostrando la clasificación En Matlab: >> red.iw{1,1} % Nuevos Pesos ans = 2 1 >> red.b{1} %Nuevo Bias ans = -2.5000 >> plotpv(X,D) >> plotpc(Pesos,Bias) Las RNA Perceptron X1 X2 D 0 0 0 0 1 0 1 1 0 1 1 1 15
  • 16. Mostrando la clasificación Las RNA Perceptron 16
  • 17. 3. Un problema de clasificación. La función se define como: Pasos para resolver este problema con el MATLAB : a. Definición del problema b. Inicialización de la RNA c. Entrenamiento de la RNA d. Validación de la RNA Las RNA Perceptron X D X1 X2 D1 D2 0.1 0.2 1 1 0.2 0.1 1 1 -0.9 0.8 1 0 -0.7 -0.8 0 0 0.5 -0.5 0 1 17
  • 18. a. Definición del problema La función se define como: X=[0.1 0.2 -0.9 -0.7 0.5; 0.2 0.1 0.8 -0.8 -0.5] % Las entradas de la RNA. D=[1 1 1 0 0; 1 1 0 0 1] % El resultado deseado de la RNA. En Matlab: >> X=[0.1 0.2 -0.9 -0.7 0.5; 0.2 0.1 0.8 -0.8 -0.5] >> D=[1 1 1 0 0; 1 1 0 0 1] >> plotpv(X,D) Las RNA Perceptron X1 X2 D1 D2 0.1 0.2 1 1 0.2 0.1 1 1 -0.9 0.8 1 0 -0.7 -0.8 0 0 0.5 -0.5 0 1 18
  • 19. b. Inicialización de la RNA En Matlab: >> red=newp([-0.9 0.5;-0.8 0.8],2); Las RNA Perceptron X1 X2 D1 D2 0.1 0.2 1 1 0.2 0.1 1 1 -0.9 0.8 1 0 -0.7 -0.8 0 0 0.5 -0.5 0 1 19
  • 20. c. Entrenamiento de la RNA En Matlab: >> red=train(red,X,D); Mostrar los pesos y las bias calculados: >> red.iw{1,1} ans = 0.8000 1.0000 2.2000 -0.3000 >> red.b{1} ans = 0 0 >> Las RNA Perceptron X1 X2 D1 D2 0.1 0.2 1 1 0.2 0.1 1 1 -0.9 0.8 1 0 -0.7 -0.8 0 0 0.5 -0.5 0 1 20
  • 21. d. Validación de la RNA En Matlab: >> prueba1=[0.1;0,2] >> a=sim(red, prueba1) a = 1 1 >> prueba2=[-0.9;0,8] >> b=sim(red, prueba2) b = 1 0 >> prueba3=[-0.5;0,2] >> a=sim(red, prueba3) c = 0 0 Las RNA Perceptron X1 X2 D1 D2 0.1 0.2 1 1 0.2 0.1 1 1 -0.9 0.8 1 0 -0.7 -0.8 0 0 0.5 -0.5 0 1 21
  • 22. Mostrando la clasificación En Matlab: >> Pesos=red.iw{1,1} Pesos = 0.8000 1.0000 2.2000 -0.3000 >> Bias=red.b{1} Bias = 0 0 >> plotpc(Pesos,Bias) Las RNA Perceptron X1 X2 D1 D2 0.1 0.2 1 1 0.2 0.1 1 1 -0.9 0.8 1 0 -0.7 -0.8 0 0 0.5 -0.5 0 1 22
  • 23. Mostrando la clasificación Las RNA Perceptron X1 X2 D1 D2 0.1 0.2 1 1 0.2 0.1 1 1 -0.9 0.8 1 0 -0.7 -0.8 0 0 0.5 -0.5 0 1 23
  • 24. Las RNA Perceptron - Tarea 1. Graficar los patrones de aprendizaje de las funciones lógicas: • OR • NOT • XOR • CONDICIONAL • LA BICONDICIONAL 2. Graficar los patrones de aprendizaje de: X1 X2 D1 D2 -0.5 -1.0 0 1 1.0 1.0 1 1 1.0 0.5 1 0 -1.0 -0.5 0 0 -1.0 -1.0 0 1 0.5 1.0 1 1 24
  • 25. 3. Con ayuda del toolbox de redes neuronales del MATLAB, clasificar usando un Perceptron el siguiente patrón de aprendizaje. X1 X2 D -0.5 -1.0 0 1.0 1.0 1 1.0 0.5 1 -1.0 -0.5 0 -1.0 -1.0 0 0.5 1.0 1 4. Trate de resolver el problema de la XOR con una RNA Perceptron, ¿a que conclusión llega?. Las RNA Perceptron - Tarea 25
  • 26. 5. Diseñe y entrene usando el toolbox de redes neuronales del MATLAB un Perceptron que pueda identificar los números del 0 al 9 donde cada número se puede definir en una matriz de 5*3, por ejemplo el número 2 sería : 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 6. Modifique el programa del Perceptron presentado de tal forma que permita trabajar un Perceptron de N neuronas en la capa de entrada y de M neuronas en la capa de salida, pruebe el Perceptron codificado con el ejercicio anterior. Las RNA Perceptron - Tarea 26
  • 27. Informe de Laboratorio  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 lectura de otras fuentes).  Dentro de su Carpeta Personal del Dropbox crear una carpeta para el laboratorio 4 con el siguiente formato: SIRN_PaternoM_Lab4  Adjuntar fuentes que le han ayudado en esta carpeta creada.  Las fuentes deben conservar el nombre original de archivo y se debe agregar _L4 al final.  Presentar el Informe de Laboratorio 4 en esta carpeta creada. 27
  • 28. Laboratorio 4. Las RNA Perceptron Blog del curso: utpsirn.blogspot.com 28