Lab_N2_Daniel_Jara.docx

Embed Size (px)

Citation preview

Experiencia N 2: Redes Neuronales Prealimentadas: Aplicacin de Identificacin de Sistemas

departamento de ingeniera elctrica, universidad de santiago de chileExperiencia N 2: Redes Neuronales Prealimentadas: Aplicacin de Identificacin de SistemasControl InteligenteAutor: Daniel Jara05/10/2012

Tabla de contenidoIntroduccin3Objetivos3Descripcin del procedimiento4Resultados5Conclusin16Referencias16

Introduccin

El presente informe contiene el desarrollo realizado en el laboratorio de Control Inteligente, en el cual se ve la aplicacin de redes neuronales a un modelo de un secador, comparando dos algoritmo de entrenamiento de gradiente descendente y de Levenberg-Marquardt.Objetivos

Simular y comprender el funcionamiento de una red neuronal feedforward en MatLab. Crear, Entrenar y Simular una red neuronal. Graficar las evoluciones de los errores, para los algoritmos de entrenamiento por Gradiente Descendente y Levenberg-Marquardt.. Graficar las salida de ambos mtodos

Descripcin del procedimiento

Actividad:Genere a partir de datos de entrada /salida, un modelo caja-negra de un secador.1. Considere las variables:Entradas: Target: .2. Preprocese la data, separando los conjuntos de entrenamiento y validacin,3. Cree la RNA utilizando el toolbox de redes neuronales de MatLab, al que se accede mediante el comando nntool. Siga los siguientes pasos:a) Importe los datos de entrada (Input data) y sus respectivos targets (Target data) usando el botn [Import].b) Cree una nueva RNA (feedforward) con [New].c) Identifique el nombre y arquitectura de la red neuronal, funcin de activacin, N de E/S, parmetros (pesos y bias) y algoritmo de aprendizaje con [Open] o haciendo doble click en la red creada, navegando en las pestaas disponibles.4. Entrene la RNA, usando [Train Network].a) Seleccione el algoritmo del gradiente y uno de segundo orden, por ejemplo: Levenberg-Marquardt. Ajuste los parmetros de entrenamiento en cada caso.b) Presente el grfico de la evolucin de entrenamiento en cada caso.c) Muestre los parmetros de cada red entrenada (peso y bias).5. Pruebe las RNAs, graficando la respuesta de las RNAs entrenadas para los datos de prueba con [Simulate Network] y comprelos visualmente con la salida real del secador.6. Valide las RNAs, usando los datos de validacin y calcule los indicadores del error: AL, RMS y RSD.

Pi: Valores predichos.oi: Valores observados.N: Nmero total de datos.om: Valor medio de las observaciones.

Resultados

1. Esquema de Entrenamiento utilizado.

Entrada Salida Grfico de entrada:

2. A continuacin se presenta el comando utilizado en MatLab para introducir los valores. En donde: Datos para entrenamiento: 70% de 1.000=700 datos, es decir de 1:700 Datos para prueba: 20% de 1.000=200 datos, es decir de 701:900 Datos para validacin: 10% de 1.000=100 datos, es decir de 901:1000Tambin se une los valores de u(t) y ym-1(t) en un mismo vector de entrada inp, como se muestra a continuacin.%Separar U(t)u_e=u_t(1:700);u_p=u_t(701:900);u_v=u_t(901:1000); %Separar Y(t)yt_e=y_t(1:700);yt_p=y_t(701:900);yt_v=y_t(901:1000); %Separar Y(t-1)ytm1_e=y_tm1(1:700);ytm1_p=y_tm1(701:900);ytm1_v=y_tm1(901:1000); %Entradainp_e=[u_e;ytm1_e];inp_p=[u_p;ytm1_p];inp_v=[u_v;ytm1_v];

En MatLab se visualiza las variables ingresadas como se muestra a continuacin.

3. A continuacin se presenta la Toolbox nntool con las dos neuronas creadas con los distintos algoritmos de entrenamiento, los cuales neuroGD con algoritmo del gradiente y neuroLM con Levenberg-Marquardt. Adems de los vectores de entrada y salida como se muestra a continuacin

La correspondiente estructura de la red neuronal:

Como se mencion, el nmero de datos de entrenamiento es 700 es decir:

Se considera un total de 17 neuronas en la capa oculta, con una funcin tansig, y la capa de salida con una funciona lineal purelin.

A continuacin se presenta los pesos y bias para cada red antes del entrenamiento.Gradiente Descendente.Pesos Capa OcultaBias Capa EntradaBias Capa Salida

Pesos Capa Salida

Levenberg-Marquardt.Pesos Capa OcultaBias Capa EntradaBias Capa Salida

Pesos Capa Salida

4. A continuacin se presenta el entrenamiento de los dos mtodos mencionados, los cuales se entrenan con los datos de entrenamiento con los primeros 700 datos.Gradiente Descendente.Entrenamiento:

Evolucin del error:

Pesos y bias despus del entrenamiento.Pesos Capa OcultaBias Capa EntradaBias Capa Salida

Pesos Capa Salida

Levenberg-Marquardt.Entrenamiento:

Evolucin del error:

Pesos y bias despus del entrenamiento.Pesos Capa OcultaBias Capa EntradaBias Capa Salida

Pesos Capa Salida

5. Proceso de simulacin para cada neurona con los datos de entrada de prueba, es decir de 701 a 900 seg.Se visualiaza la creacin de la salida correspondiente para el mtodo del gradiente descendente en neuroGD_outputs, de igual manera para el mtodo por Levenberg-Marquardt en neuroLM_outputs, datos que se exportan a MatLab para graficar.

Grfico de comparacin de los dos mtodos con la salida real:

En donde el mtodo con Levenberg-Marquardt se adapta mejor que el otro mtodo, especialmente en los cambios.

6. Para calcular los ndices de validacin de los resultados, en donde, se utilizan los datos de validacin de 901 a 1.000, con el siguiente algoritmo para cada

%Datos para Gradiente Descendente:pi=neuroGD_outputs;oi=yt_v;om=(sum(yt_v))/100;pi_p=pi-om;oi_p=oi-om;%Calculo de Indices:AI_GD=1-(sum((oi-pi).^2)/sum((abs(oi_p)+abs(pi_p)).^2));RMS_GD=sqrt(sum((oi-pi).^2)/sum(oi.^2));RSD_GD=sqrt(sum((oi-pi).^2)/100); %Datos para Levenberg-Marquardt:pi=neuroLM_outputs;%Calculo de Indices:AI_LM=1-(sum((oi-pi).^2)/sum((abs(oi_p)+abs(pi_p)).^2));RMS_LM=sqrt(sum((oi-pi).^2)/sum(oi.^2));RSD_LM=sqrt(sum((oi-pi).^2)/100);

En MatLab se observan los siguientes resultados para los dos mtodos:Gradiente DescendenteLevenberg-Marquardt

Amos mtodos presentan un buen ndice AI (de) tiene un valor cercano a 1, el ndices RMS (de error cuadrtico medio) es cercano a 0 y los ndices RSD (de) es cercano a 0; si se comparan ambos mtodos, el de Levenberg-Marquardt se adapta mejor que el de gradiente descendente.

Conclusin

En general, se visualiza el correcto modelo de caja negra del secado, el cual fue realizado con redes neuronales, ambos algoritmos de entrenamiento GD y L-M lograron emular el comportamiento del modelo, al comprar ambos modelos, se escoge el de L-M sobre el anterior, al presentar un mejor ajuste visual al valor real, adems de presentar mejores valores en todos los ndices de validacin.Referencias

[1] Control Inteligente. Captulo: Redes Neuronales. Dra. Marcela Jamett. USACH[2] www.mathworks.com/16