práctica+laboratorio+ci+#+2

6
 Práctica de Laboratorio # 2 Asignatura: Control Inteligente Tema: Trabajo con las Redes Neuronales Artificiales empleando el software Matlab. Creación, entrenamiento y validación de una red neuronal artificial. Título: “Las Redes Neuronales Artificiales. Aplicaciones” Objetivos de la práctica: - Que los estudiantes desarrolle n habilidades prácticas en el trabajo con las redes neuronales artificiales utilizand o el software Matlab. - Que los estudiantes apliquen los conocimientos teóricos ad quiridos pa ra la solución de problemas aplicando redes neuronales artificiales. - Que los estudiantes sean cap aces de crear, entrenar y validar diferentes a rquitecturas de RNA. Desarrollo de la Práctica: I. Introducción: Recordatorio de los aspectos fundamentales de las Redes Neuronales Artificiales estudiados. Funciones de activación: - Función de activación lineal. - Función de activación de límite rígido. - Función de activación sigmoidea. Características de una Red Neuronal Artificial: - Un patrón de conexione s entre neuronas (arquitectura). - Su método o forma de determinar los pesos de las conexiones (algoritmo de aprendizaje) . - Su función de activación. Etapas a seguir en el empleo de una RNA: - Recolección de los datos. - Entrenamiento de la red neuronal artificial. - Validación de la red neuronal artificial entrenada. Principale s arquitecturas de Redes Neuronale s Artificiales estudiadas: - RNA Perceptron simple capa. - RNA ADALINE/MAD ALINE. - RNA Perceptron multicapa. - RNA de Base Radial (RBF). - RNA de Mapas Autoorganiz ados (SOM).

Upload: rickyriccardi

Post on 10-Jul-2015

178 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Práctica+laboratorio+CI+#+2

5/10/2018 Pr ctica+laboratorio+CI+#+2 - slidepdf.com

http://slidepdf.com/reader/full/practicalaboratorioci2 1/6

Práctica de Laboratorio # 2

Asignatura: Control Inteligente

Tema: Trabajo con las Redes Neuronales Artificiales empleando el software Matlab.

Creación, entrenamiento y validación de una red neuronal artificial.

Título: “Las Redes Neuronales Artificiales. Aplicaciones”

Objetivos de la práctica:

- Que los estudiantes desarrollen habilidades prácticas en el trabajo con las redes neuronales

artificiales utilizando el software Matlab.

- Que los estudiantes apliquen los conocimientos teóricos adquiridos para la solución deproblemas aplicando redes neuronales artificiales.

- Que los estudiantes sean capaces de crear, entrenar y validar diferentes arquitecturas de

RNA.

Desarrollo de la Práctica:

I. Introducción:  Recordatorio de los aspectos fundamentales de las Redes

Neuronales Artificiales estudiados.

Funciones de activación: 

- Función de activación lineal.

- Función de activación de límite rígido.

- Función de activación sigmoidea.

Características de una Red Neuronal Artificial: 

- Un patrón de conexiones entre neuronas (arquitectura).

- Su método o forma de determinar los pesos de las conexiones (algoritmo de aprendizaje).

- Su función de activación.

Etapas a seguir en el empleo de una RNA: 

- Recolección de los datos.

- Entrenamiento de la red neuronal artificial.

- Validación de la red neuronal artificial entrenada.

Principales arquitecturas de Redes Neuronales Artificiales estudiadas: 

- RNA Perceptron simple capa.

- RNA ADALINE/MADALINE.

- RNA Perceptron multicapa.- RNA de Base Radial (RBF).

- RNA de Mapas Autoorganizados (SOM).

Page 2: Práctica+laboratorio+CI+#+2

5/10/2018 Pr ctica+laboratorio+CI+#+2 - slidepdf.com

http://slidepdf.com/reader/full/practicalaboratorioci2 2/6

Aspectos importantes del aprendizaje de una RNA: 

- El conocimiento de las redes neuronales se encuentra almacenado en los pesos y bias.

- El entrenamiento puede ser por lotes o batch (se actualizan los pesos al concluir) o

incremental (se actualizan los pesos en cada iteración).

- Entrenamiento de una red neuronal puede ser detenido por dos factores: la cantidad de

épocas y el error de aprendizaje.

- Compromiso entre memorización y generalización.

II. Desarrollo:

Ejercicio 1:

Simule el comportamiento de una función lógica OR empleando una red neuronal artificial de

tipo perceptron simple capa.

Actividades:

- Establecer la arquitectura de la red neuronal:Debido a que serán dos las entradas necesarias para aproximar la función deseada y una la

salida que la misma proporcionará se determina que la red perceptron tendrá dos neuronas

en la capa de entrada y una en la de salida.

Debido a la estructura clásica del perceptron simple capa la función de activación será el

límite rígido.

- Crear la RNA con comandos:

El comando que brinda el Matlab para la creación de una RNA perceptron simple capa es el

siguiente:

net = newp (PR, S)

PR: Es una matriz de Rx2 elementos con los valores máximo y mínimo de los R elementos de

entrada a la RNA.

S: Número de neuronas.

>>net = newp([0 1; 0 1], 1);

¿Cuál es el valor inicial de los pesos y bias de la red?

Esto se puede verificar accediendo a los miembros de la estructura RNA creada.

IW: contiene la matriz de pesos de entradas.

LW: contiene la matriz de pesos de las capas.

b: contiene el vector de bias.

>>net.IW{1,1}

>>net.b{1}

El valor inicial de los pesos y bias se debe a la función de inicialización que tienen, como

puede verse con los siguientes comandos:

>>net.inputWeights{1,1}

>>net.biases{1}

Page 3: Práctica+laboratorio+CI+#+2

5/10/2018 Pr ctica+laboratorio+CI+#+2 - slidepdf.com

http://slidepdf.com/reader/full/practicalaboratorioci2 3/6

- Determinar los patrones:

>>p = [1 0 1 0; 0 1 1 0];

>>t = [1 1 1 0];

- Probar el desempeño de la RNA para cada uno de los patrones de la siguiente forma:

>>p1=[1;1]>>y1 = sim(net,p1)

Y así sucesivamente para el resto.

- Entrenamiento de las RNA:

• Inicialice la RNA:

Para poder inicializar con valores diferentes a cero es necesario primero cambiar las

funciones de inicialización de los pesos de entrada y los bias con los siguientes

comandos:

>>net.inputWeigths{1,1}.initFcn='rands';

>>net.biases{1,1}.initFcn='rands';

Y posteriormente inicialice la red.

>> net=init(net);

• Compruebe el cambio de los pesos y bias.

Pase entonces al entrenamiento de la red propiamente dicho, el cual puede realizarlo de

dos formas: entrenando la RNA patrón a patrón mediante learnp y simulando o empleando

el comando train.

¿Cuántas épocas tiene la red por defecto para el entrenamiento?

>>net=train(net,p,t)

Utilizar este comando permitirá ver el entrenamiento época a época y como resultado

devolverá una gráfica del error en función de las épocas lo cual puede ser muy

ilustrativo.

• Compruebe que haya aprendido los patrones enseñados mediante la simulación.

>>y =sim(net, pn)

- Comprobar que sucede si se hace el bias igual a cero.

Ejercicio 2:

Aproxime el comportamiento de una función lógica XOR empleando una red neuronal artificial

de tipo Perceptron simple capa.

Actividades:

- Establecer la arquitectura de la red neuronal:

Nuevamente se tiene una función que para simularla se necesitan dos neuronas de entrada a

la red y una de salida, por lo que esta será la estructura de la red neuronal a crear.

La función de activación de la capa de salida es de límite rígido debido a especificaciones de

diseño de esta red neuronal.

Page 4: Práctica+laboratorio+CI+#+2

5/10/2018 Pr ctica+laboratorio+CI+#+2 - slidepdf.com

http://slidepdf.com/reader/full/practicalaboratorioci2 4/6

- Crear la RNA con comandos:

Se emplea el mismo comando visto en el ejercicio anterior por lo que la creación de la red

neuronal quedaría de la forma siguiente:

>>net = newp([0 1; 0 1], 1);

Sucede lo mismo que en el caso anterior con el valor inicial de los pesos.

- Determinar los patrones:

>>p = [1 0 1 0; 0 1 1 0];

>>t = [1 1 0 0];

- Probar el desempeño de la RNA para cada uno de los patrones de la siguiente forma:

>>p1=[1;1];

>>y1 = sim(net,p1)

Compruebe de igual forma el desempeño de la red para los demás patrones. Seguidamente

pase al entrenamiento de la red.

- Para el entrenamiento de la red neuronal sigue los siguientes pasos:

• Inicialice la RNA:

Al igual que en el ejercicio anterior hay que modificar las funciones de inicialización

con las que se crea la red por defecto para que los pesos tengan un valor inicial

diferente de cero. Luego la inicializa con el comando ya visto.

>> net=init(net);

• Compruebe que hubo un cambio en los pesos y bias.

• Pase entonces a entrenar la red empleando el comando visto anteriormente

>>net=train(net,p,t)

En un primer entrenamiento se observa que no se logra alcanzar el error

deseado por lo que se prueba aumentando el número de épocas.

>> net.trainParam.epochs=500;

• Compruebe que a pesar de haber aumentado las épocas no se logra alcanzar el error

deseado por lo que se concluye que con esta red no se puede resolver el problema

planteado por lo que buscamos otra variante.

Ejercicio # 3:

Resuelva el ejercicio anterior pero empleando una red neuronal artificial de tipo Perceptron

multicapa.

- Establecer la arquitectura de la red neuronal:

La red neuronal por características propias contará con una capa de entrada, una oculta y

una de salida.

Nuevamente se tiene que son dos entradas y una salida las necesarias para simular lafunción que se desea, por lo que la red neuronal a emplear tendrá dos neuronas en la capa

de entrada y una en la de salida.

Page 5: Práctica+laboratorio+CI+#+2

5/10/2018 Pr ctica+laboratorio+CI+#+2 - slidepdf.com

http://slidepdf.com/reader/full/practicalaboratorioci2 5/6

En cuanto a las neuronas de la capa oculta, se comenzará probando con un número mínimo

y luego se aumentará el número de elementos ocultos hasta obtener el deseado, en

dependencia del error cometido por la red y de la complejidad de la arquitectura.

En la capa oculta usarán funciones de activación de tipo sigmoidea (tan-sigmoidea) y en la

capa de salida funciones de activación lineal.

- Crear la RNA con comandos:

>>net= newff(PR,[S1 S2...Sn],{TF1 TF2...TFn},BTF,BLF,PF);

PR: Es una matriz de Rx2 elementos con los valores máximo y mínimo de los R elementos

del vector de entrada a la RNA.

Si: Tamaño de la iésima capa, para n capas.

TFi: Función transferencial para la iésima capa (por defecto: tansig)

BTF: Función de entrenamiento para la red BP (por defecto: traingdx). Posibles variantes:

trainlm, trainbfg, trainrp, traingd, traingdm

BLF: Función de aprendizaje para los pesos y bias de la red BP (por defecto: learngdm).

Posibles variantes: learngd

PF: Función de rendimiento (Por defecto: mse). Posibles variantes: msereg, mae,

En este caso sería:

>>net=newff([0 1; 0 1], [1, 1], {'tansig', 'purelin'}, 'traingd');

- Probar el desempeño de la RNA para cada uno de los patrones (serán los mismos del

ejercicio anterior) de la siguiente forma:

>>p = [1 0 1 0; 0 1 1 0];

>>t = [1 1 0 0];

>>p1=[1;1]

>>y1 = sim(net,p1)

- Para el entrenamiento de la red neuronal siga los siguientes pasos:

• Inicialice la RNA:

>> net=init(net);

• Pase entonces a entrenar la red empleando el comando visto anteriormente

>>net=train(net,p,t);

Variar los siguientes parámetros alternativamente: Número de elementos en la

capa oculta (aumentar); número de épocas si es necesario (aumentar) hasta

lograr entrenar la red adecuadamente.

• Compruebe que haya aprendido los patrones enseñados mediante la simulación.

>>y =sim(net, pn)

Page 6: Práctica+laboratorio+CI+#+2

5/10/2018 Pr ctica+laboratorio+CI+#+2 - slidepdf.com

http://slidepdf.com/reader/full/practicalaboratorioci2 6/6

III. Conclusiones:

- Con la práctica de laboratorio realizada se pudo comprobar algunas de las características de

las redes neuronas artificiales estudiadas en clases.

- Se trabajó con una de las arquitecturas más difundidas: el Perceptron multicapa.

- Se conocieron diferentes variantes que trae implementadas el Matlab para el trabajo con lasredes neuronales artificiales en cuanto a la arquitectura, forma de entrenamiento, funciones

de activación, funciones de rendimiento, etc.

- Se adquirieron habilidades para el trabajo con las redes neuronales artificiales en Matlab.

IV. Trabajo Individual (Tarea):

1. Aproxime una función lógica AND empleando una red neuronal artificial de tipo Perceptron

simple capa. Describa los pasos realizados y arribe a conclusiones.

2. Resuelva el ejercicio tres variando al menos una vez los siguientes parámetros: función

transferencial de la capa oculta, función de entrenamiento. Arribar a conclusiones.