Professional Documents
Culture Documents
Informe N°2
Redes Neuronales Prealimentadas
Aplicación en Identificación de Sistemas
Abstract – The validation of two neuronals networks is presented. To perform this procedure we use the
Matlab program, specifically the window command with the toolbox "nntool" and “ident”; once the two
networks neuronals was trained, the graph of evolution of the error was determined as a study, in addition
to parameters such as bias and weights. For the validation of the result we use validation indices such as
RMS, AI and RSD.
I. Introducción
Las redes neuronales son un modelo artificial y simplificado del cerebro humano, inspirado en unidad básica del
sistema nervioso, la neurona, la cual es el ejemplo más perfecto que disponemos para un sistema que es capaz de
adquirir conocimientos a través de la experiencia. Es posible realizar tareas de reconocimiento de formas,
procesamiento de voz e imágenes. Para esto es necesario entrenar la red neuronal.
En esta experiencia se utiliza el toolbox “ident” y “nntool” ofrecido por Matlab, con el primero se obtienen los
datos de entrada y target, para luego utilizarlos en el segundo toolbox y proceder a la realización de 2 redes
neuronales las cuales serán comparadas mediante sus índices de validación.
II. Objetivos
2.1 General
2.2 Específicos
Entrenar una neurona por algoritmo del gradiente y uno de segundo orden.
Presentar gráficamente la evolución del error para cada algoritmo.
Probar las RNA, graficando y comparando con la salida del secador.
Validar las RNA y calcular los indicadores de error: AI, RMS y RSD.
III. Desarrollo
A partir del toolbox de redes neuronales de MATLAB, al que se accede mediante el comando “nntool”, se importan los datos
de entrada y se crean dos redes, una para el algoritmo de aprendizaje del gradiente descendiente (ver figura 1.a) y otra para el
algoritmo de segundo orden de Quasi-Newton (ver figura 1.b)
b{1} = b{1} =
[-4.4272; -3.4434; 2.4595; -1.4757; -0.49191; [-4.4272; 3.4434; 2.4595; 1.4757; 0.49191;
Bias -0.49191; -1.4757; 2.4595; 3.4434; 4.4272] 0.49191; 1.4757; -2.4595; 3.4434; -4.4272]
Se procede a entrenar la neurona, proceso que realiza 1000 iteraciones para la neurona que utiliza el algoritmo del gradiente
(ver figura 2.a), y 27 para aquella que utiliza el algoritmo de Quasi-Newton (ver figura 2.b). Además, se muestran los
performances para cada proceso.
Figura 2. Entrenamiento y performance para la neurona con algoritmo de aprendizaje del gradiente descendente.
Figura 3. Entrenamiento y performance para la neurona con algoritmo de aprendizaje del Quasi-Newton.
Una vez exportados los datos de las respuestas de ambas neuronas al workspace, se procede a ejecutar el siguiente script:
m=1:250;
Gráfico N°1: Respuesta de la Neurona con algoritmo del Gradiente Descendente versus Salida real del Secador.
Gráfico N°2: Respuesta de la Neurona con algoritmo de Quasi-Newton versus Salida real del Secador.
Gráfico N°3: Respuesta de las Neuronas con algoritmo de Quasi-Newton y algoritmo del Gradiente descendiente versus
Salida real del Secador.
Script en Matlab para calcular los indicadores de error en base a los resultados de la simulación con los datos de la validación:
Los resultados de la simulación con los datos de validación son los siguiente:
%Ai
abfg=sum((T_v - neurona_quasi_newton_outputs_validacion).^2);
tm = sum(T_v)/size(T_v,2);
bbfg = sum((abs(T_v - tm) + abs(neurona_quasi_newton_outputs_validacion -
tm)).^2);
AI_neurona_quasi_newton = 1-abfg/bbfg
%RMS
cbfg=sum(T_v.^2);
RMS_neurona_quasi_newton = sqrt(abfg/cbfg)
%RSD
RSD_neurona_quasi_newton = sqrt(abfg/size(T_v,2))
%Ai
agd = sum((T_v - neurona_gradiente_outputs_validacion).^2);
tm = sum(T_v)/size(T_v,2);
bgd = sum((abs(T_v - tm) + abs(neurona_gradiente_outputs_validacion - tm)).^2);
AI_neurona_gradiente=1-agd/bgd
%RMS
cgd=sum(T_v.^2);
RMS_neurona_gradiente=sqrt(agd/cgd)
%RSD
RSD_neurona_gradiente=sqrt(agd/size(T_v,2))
Resultados: Indices.
A continuación, se muestran los índices obtenidos en el command window de Matlab al ejecutar el script anterior.
IV. Conclusión
Al observar la performance de las neuronas nos podemos percatar que la red neuronal Quasi-Newton obtiene su
mejor rendimiento en la iteración 15 de 21, esto quiere decir que a partir de las siguientes iteraciones la red se
encontraría sobre-entrenada, en cambio la red neuronal de gradiente encuentra su mejor rendimiento en la iteración
número 1000 y no cuenta con sobre-entrenamiento, además la red neuronal Quasi-newton es más rápida que la de
gradiente.
Gracias a la figura 3, podemos percatarnos de las diferencias entre las salidas de las redes neuronales y el valor real
del proceso, lo cual implica que la red neuronal del gradiente tiene una menor proximidad que la de Quasi-Newton,
esto quiere decir que la red neuronal que posee un mayor rendimiento es la red neuronal Quasi-Newton, esto se
puede comprobar mediante los índices de validación, algunos de estos parámetros utilizados fueron:
El AI (“adquition index”) relaciona la tendencia, al comparar las 2 redes se observa que la de mayor tendencia es
la red neuronal Quasi-Newton.
El RMS (“Root mean square”) mide la dispersión, ósea que tan preciso es el sistema, al ver los valores podemos
decir que la de mayor desempeño según este indicador es la red neuronal Quasi-Newton en comparación a la del
gradiente.
El RSD (“Residual Estándar Deviation”) mide la desviación, en este proceso la red neuronal con menor desviación
es la de Quasi-Newton.
Gracias a estos índices podemos afirmar que la mejor repuesta para este proceso, corresponde a la red neuronal
Quasi-Newton.