Utp ia_sl4 la rna perceptron

28
Ing. José C. Benítez P. Inteligencia Artificial (W0I9) La RNA Perceptron Laboratorio: 4

Transcript of Utp ia_sl4 la rna perceptron

Page 1: Utp ia_sl4 la rna perceptron

Ing. José C. Benítez P.

Inteligencia Artificial(W0I9)

La RNA Perceptron

Laboratorio: 4

Page 2: Utp ia_sl4 la rna perceptron

Objetivo Fundamento teórico: La RNA Perceptron. Implementación de la RNA Perceptron. Conclusiones. Tarea.

Las RNA Perceptron

2

Page 3: Utp ia_sl4 la rna perceptron

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 dellaboratorio y adjuntar sus fuentes que le han ayudado afortalecer sus destrezas en el presente laboratorio.

Presentar las fuentes y el informe en USB.

3

Page 4: Utp ia_sl4 la rna perceptron

El Perceptron es una RNA que está en capacidad de realizar separacioneslineales veamos como se puede realizar un problema de estos con ayudadel toolbox de redes neuronales del MATLAB

Entre las funciones utilizadas por el MATLAB para el Perceptron setienen: 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

Page 5: Utp ia_sl4 la rna perceptron

1. Gráfica de patrones de aprendizaje:Los patrones de aprendizaje se utilizarán para entrenar las redesneuronales.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 lospuntos dados en el vector X y le asigna unsímbolo para la clasificación dependiendo dela salida deseada, en esta caso:Para salida deseada cero (0) = oPara salida deseada uno (1) = +

5

Page 6: Utp ia_sl4 la rna perceptron

2. El problema de función lógica ANDLa 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 problemab. Inicialización de la RNAc. Entrenamiento de la RNAd. Validación de la RNA

Las RNA Perceptron

X D6

Page 7: Utp ia_sl4 la rna perceptron

a. Definición del problemaSe debe proporcionar a la RNA la información necesaria para que puedellevar la tarea con éxito.Se debe definir los patrones de aprendizaje de la RNA que se van autilizar 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 definepor 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 salidasPara ver la gráfica de estos patrones se usa el comando plotpv>> plotpv(X,D)

Las RNA Perceptron

7

Page 8: Utp ia_sl4 la rna perceptron

La gráfica resultante es la que se muestra y corresponde al patrón deaprendizaje:

Las RNA Perceptron

8

Page 9: Utp ia_sl4 la rna perceptron

b. Inicialización de la red neuronalAhora se crea la RNA, para el caso del Perceptron se usa la función newpde 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 deentradas 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

Page 10: Utp ia_sl4 la rna perceptron

Ahora se procederá a generar unos pesosiniciales a la red, este paso no es necesariohacerlo, pero permite generar un Perceptroncon 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íneade separación que tiene el Perceptron>>plotpc(Pesos,Bias)Este comando agrega la recta clasificadora algráfico generado por plotpv, la gráficaquedaría así:

Las RNA Perceptron

10

Page 11: Utp ia_sl4 la rna perceptron

c. Entrenamiento de la RNAEl entrenamiento de la red se realiza con elcomando train el cual implementa unentrenamiento con la regla de aprendizajetipo Perceptron.En MATLAB:>> red = train(red,X,D)Dondered = red a ser entrenada por el MATLAB.X = Entrada de los patrones de aprendizaje.D = Salida deseada de los patrones deaprendizaje.

Las RNA Perceptron

11

Page 12: Utp ia_sl4 la rna perceptron

Al entrenar MATLAB nos grafica la maneracomo va evolucionando error al transcurrirlas iteraciones.

Las RNA Perceptron

12

Page 13: Utp ia_sl4 la rna perceptron

Cuando se ha entrenado la red, se puedevisualizar en la gráfica donde se muestra lalínea clasificadora que la red ha llevado acabo la tarea.En Matlab:>> figure;>> Pesos=red.iw{1,1};>> Bias=red.b{1};>> plotpv(X,D)>> plotpc(Pesos,Bias)

Las RNA Perceptron

13

Page 14: Utp ia_sl4 la rna perceptron

d. Validación de la RNALuego de tener una RNA entrenada se procede a validar siel comportamiento de la misma es correcto o no, para estose 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 =

1Como se puede observar el comportamiento de la red es eladecuado por lo que se da por finalizado el entrenamiento.

Las RNA Perceptron

14

Page 15: Utp ia_sl4 la rna perceptron

Mostrando la clasificaciónEn Matlab:>> red.iw{1,1} % Nuevos Pesosans =

2 1>> red.b{1} %Nuevo Biasans =

-2.5000>> plotpv(X,D)>> plotpc(Pesos,Bias)

Las RNA PerceptronX1 X2 D0 0 00 1 01 1 01 1 1

15

Page 16: Utp ia_sl4 la rna perceptron

Mostrando la clasificación

Las RNA Perceptron

16

Page 17: Utp ia_sl4 la rna perceptron

3. Un problema de clasificación.La función se define como:

Pasos para resolver este problema con el MATLAB :a. Definición del problemab. Inicialización de la RNAc. Entrenamiento de la RNAd. Validación de la RNA

Las RNA Perceptron

X D

X1 X2 D1 D20.1 0.2 1 10.2 0.1 1 1-0.9 0.8 1 0-0.7 -0.8 0 00.5 -0.5 0 1

17

Page 18: Utp ia_sl4 la rna perceptron

a. Definición del problemaLa 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] % Lasentradas 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 PerceptronX1 X2 D1 D20.1 0.2 1 10.2 0.1 1 1-0.9 0.8 1 0-0.7 -0.8 0 00.5 -0.5 0 1

18

Page 19: Utp ia_sl4 la rna perceptron

b. Inicialización de la RNAEn Matlab:>> red=newp([-0.9 0.5;-0.8 0.8],2);

Las RNA PerceptronX1 X2 D1 D20.1 0.2 1 10.2 0.1 1 1-0.9 0.8 1 0-0.7 -0.8 0 00.5 -0.5 0 1

19

Page 20: Utp ia_sl4 la rna perceptron

c. Entrenamiento de la RNAEn Matlab:>> red=train(red,X,D);Mostrar los pesos y las bias calculados:>> red.iw{1,1}ans =

0.8000 1.00002.2000 -0.3000

>> red.b{1}ans =

00

>>

Las RNA PerceptronX1 X2 D1 D20.1 0.2 1 10.2 0.1 1 1-0.9 0.8 1 0-0.7 -0.8 0 00.5 -0.5 0 1

20

Page 21: Utp ia_sl4 la rna perceptron

d. Validación de la RNAEn Matlab:>> prueba1=[0.1;0,2]>> a=sim(red, prueba1)a =

11

>> prueba2=[-0.9;0,8]>> b=sim(red, prueba2)b =

10

>> prueba3=[-0.5;0,2]>> a=sim(red, prueba3)c =

00

Las RNA PerceptronX1 X2 D1 D20.1 0.2 1 10.2 0.1 1 1-0.9 0.8 1 0-0.7 -0.8 0 00.5 -0.5 0 1

21

Page 22: Utp ia_sl4 la rna perceptron

Mostrando la clasificaciónEn Matlab:>> Pesos=red.iw{1,1}Pesos =

0.8000 1.00002.2000 -0.3000

>> Bias=red.b{1}Bias =

00

>> plotpc(Pesos,Bias)

Las RNA PerceptronX1 X2 D1 D20.1 0.2 1 10.2 0.1 1 1-0.9 0.8 1 0-0.7 -0.8 0 00.5 -0.5 0 1

22

Page 23: Utp ia_sl4 la rna perceptron

Mostrando la clasificación

Las RNA Perceptron

X1 X2 D1 D20.1 0.2 1 10.2 0.1 1 1-0.9 0.8 1 0-0.7 -0.8 0 00.5 -0.5 0 1

23

Page 24: Utp ia_sl4 la rna perceptron

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 11.0 1.0 1 11.0 0.5 1 0-1.0 -0.5 0 0-1.0 -1.0 0 10.5 1.0 1 1

24

Page 25: Utp ia_sl4 la rna perceptron

3. Con ayuda del toolbox de redes neuronales del MATLAB, clasificarusando un Perceptron el siguiente patrón de aprendizaje.X1 X2 D-0.5 -1.0 01.0 1.0 11.0 0.5 1-1.0 -0.5 0-1.0 -1.0 00.5 1.0 1

4. Trate de resolver el problema de la XOR con una RNA Perceptron, ¿aque conclusión llega?.

Las RNA Perceptron - Tarea

25

Page 26: Utp ia_sl4 la rna perceptron

5. Diseñe y entrene usando el toolbox de redes neuronales del MATLABun Perceptron que pueda identificar los números del 0 al 9 dondecada número se puede definir en una matriz de 5*3, por ejemplo elnúmero 2 sería :

1 1 10 0 11 1 11 0 01 1 1

6. Modifique el programa del Perceptron presentado de tal forma quepermita trabajar un Perceptron de N neuronas en la capa de entrada yde M neuronas en la capa de salida, pruebe el Perceptron codificadocon el ejercicio anterior.

Las RNA Perceptron - Tarea

26

Page 27: Utp ia_sl4 la rna perceptron

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 comentarioscortos. Redactar al ir desarrollando el laboratorio. (Requieredesarrollar el laboratorio).

Segundo nivel: Conclusiones. Redactar al terminar ellaboratorio.(Requiere haber desarrollado el laboratorio).

Tercer Nivel: Recomendaciones. (Requiere lectura de otrasfuentes).

Dentro de su Carpeta Personal del Dropbox crear una carpetapara 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

Page 28: Utp ia_sl4 la rna perceptron

Laboratorio 4. Las RNA Perceptron

Blog del curso:utpsirn.blogspot.com

28