Vous êtes sur la page 1sur 2

Diseño y simulación de un Perceptrón multicapa (MLP) con

Matlab® y UV-SRNA
Luz Karime Ramírez – 0711078,
Iván Hernando González - 0611129
IEEE, Universidad del Valle, Cali, Colombia
Email: {mime214, espartaco113}@hotmail.com

de la función, es decir, que las nuevas entradas se encuentren


Resumen—El Perceptrón Multicapa (MLP) surge como una dentro del rango de la función original.
posible solución a los problemas de clasificación no lineales que 3) Mediante la expresión (1) determinar el error que se produce al
presentaba el Perceptrón simple. En el presente informe se introducir la nueva entrada
presentan algunos problemas de clasificación que no son ݁௣௞ ൌ ሺ݀௣௞ െ ‫ݕ‬௣௞ ሻ
linealmente separables (XOR) y algunas redes entrenadas para Donde: ݀௣௞ =La salida deseada, que representa la nueva entrada.
aprender ciertas funciones ‫ݕ‬௣௞ =La salida generada por la nueva simulación de la red

Palabras Claves—Perceptrón Multicapa (MLP), Métodos de En el Anexo 2 se encuentra la verificación del comportamiento de la
Aprendizaje, Backpropagation, Validación, Generalización, UV- red cuando se varían el número de neuronas en la capa oculta y el
SRNA. método de aprendizaje. Donde la se tiene que el mejor método es el
No. 5 y que entre 5 a 7 neuronas es la menor variación.
I. INTRODUCCIÓN
III. EJERCICIOS
El Perceptrón Multicapa es una modificación de la estructura del
Perceptrón Simple, ya que en vez de usar solo dos capas (Capa de Para las redes entrenadas de las funciones seno se utiliza el mismo
entrada y capa de salida) introduce una capa de neuronas entre las método de validación descrito en la función senoback. Para las redes
capas mencionadas, denominada CAPA OCULTA. Para el entrenadas de reconocimiento se hace la validación mediante la
entrenamiento del MLP se formulo el algoritmo de aprendizaje de introducción de ruido a la grilla, es decir, distorsionando la
Backpropagation. El algoritmo de aprendizaje de Backpropagation información que brinda la grilla par el debido reconocimiento.
trabaja bajo aprendizaje supervisado ya que es necesario aplicar Además para todas las redes entrenadas se tiene que los primeros
patrones de entrenamiento (Patrones de Entradas y Patrones de métodos usados anteriormente se conservan, exceptuando el número
Salidas Deseadas). Es denominado Backpropogation o de 5, que es reemplazado por el Algoritmo de Aprendizaje Levenberg
propagación inversa, debido a que el error se propaga inversamente al Marquardt.
funcionamiento normal de la red, es decir que se propaga hacia atrás
el error de la capa de salida para estimar el error en la capa oculta. 1. Entrenar una red MLP tanto en MATLAB® como en UV-
Para lograr un proceso de aprendizaje exitoso el algoritmo busca SRNA que aprenda la función (Seno1)
actualizar todos los pesos sinápticos de la red minimizando el error (0.5*sin(x)+0.5*sin(2*x)) de tal forma que x esté en el rango
cuadrático medio. –π < x < π . Para validar el entrenamiento verifique la
generalización de la red entrenada.
II. DESARROLLO DEL LABORATORIO
Trainlm Traing
mse Rango Error% mse Rango Error %
1. Solución del problema de la función XOR con Matlab® (5,9,100) (2,7,100)
En este punto se implementa el código descrito en la guía (function 1.1 0,3478 0,8034 21,65 1.1 0,2386 0,8266 14,43
xorback (método, n)) con el fin de verificar como cambia la calidad
del aprendizaje según el método de aprendizaje seleccionado. En la 1.5 0,3471 0,7984 21,74 1.5 0,2365 0,822 14,39
Tabla No. 1 se muestran los resultados obtenidos según el método 0.5 0,3514 0,8034 21,87 0.5 0,2436 0,8237 14,79
seleccionado con un numero de iteraciones fijado en 100.
Método Error Calidad 0.3 0,3521 0,8034 21,91 0.3 0,2484 0,8292 14,98
1 9,921E-02 Baja TABLA NO 2 –RESULTADOS DEL ENTRENAMIENTO Y VALIDACIÓN
2 2,568E-13 Aceptable PARA LA FUNCIÓN SENO1
3 4,445E-02 Aceptable
4 3,343E-04 Buena
TABLA 1. RESULTADOS OBTENIDOS PARA LA XOR
Las celdas en color amarillo nos indican que la red esta
Métodos usados: memorizando. El mejor método de entrenamiento es el Levenberg
1. Gradiente descendente Marquardt, mientras que los peores se encuentra el método 1 y 3. En
2. Gradiente descendente con eta variable el Anexo 3 se encuentra la información mas detallada de lo
3. Gradiente descendente con momentum experimentado.
4. Gradiente descendente con momentum y eta variable
2. Entrenar una red MLP en MATLAB que aprenda la función
Visualizando la superficie de separación que genera la red, hemos (Seno2) Seno(x)/x de tal forma que x esté en el rango –10< x
establecido según nuestra perspectiva que tan buena es la calidad del < 10. Para validar el entrenamiento verifique la
aprendizaje. En el Anexo 1 se encuentran las superficies de generalización de la red entrenada.
separación obtenidas de la red. Las características de esta función fueron muy similares a los
obtenidos para la anterior función (seno1), exceptuando por el error
2. Aprendizaje de una función seno con Matlab® obtenido en el método 5. En el Anexo 4 se encuentra la información
Para la verificación de la calidad de la generalización que tiene la red mas detallada de lo experimentado.
Método Generalización Error
entrenada se propone el siguiente método: promedio
1) Entrenar la red y guardar la red mejor entrenada 1 Mala -----
2) Aplicar a la red nuevas entradas, diferentes a los patrones de 2 Regular 0,7
entrada usados en el entrenamiento, teniendo en cuenta el rango 3 Mala -----
4 Regular 0,39
5 Excelente 0
TABLA NO 3–RESULTADOS GENERALES DE LA FUNCIÓN SENO2
3. Entrene una red neuronal tipo MLP tanto en MATLAB® La red en general es capaz de generalizar en un 32.5% de los patrones
como en UV-SRNA que sirva para reconocer las vocales. introducidos después del entrenamiento. Para UV-SRNA los datos
En la Tabla 4 se muestran los resultados obtenidos al entrenar la red obtenidos se adjuntan en el Anexo 6.
mediante los diferentes métodos de aprendizaje:
5. Entrene una red MLP en MATLAB que aprenda la
Método Neuronas Iteraciones siguiente función de dos variables que se muestra en la
1 10 500 figura 3.10 de la guía de laboratorio. Verifique la
2 10 100
3 20 300
generalización de la red entrenada.
4 10 100
5 10 50 Para la realización de esta función, se tomo como referencia el código
TABLA 4. RESULTADOS DE LA RED EN MATLAB® mostrado en la guía para el aprendizaje de la silla de montar; se uso
el algoritmo de Levenberg Marquardt, siendo este el de mejor
Para la red mejor entrenada, en nuestro caso la red entrenada y respuesta. También podemos decir que los métodos como el
guardada con el método 5, se llevo a cabo la validación de la red, gradiente descendente e igual con eta variable, es muy difícil llegar a
introduciendo 15 ruidos a la grilla, los ruidos consistían en introducir la respuesta deseada. En el Anexo 5 se encuentra la tabla completa:
un patrón en la grilla que para el usuario pueda representar una vocal. Intervalo mse rango Error %

Vocal Aciertos Fallas %Generalización 0.01 0,1038 7,4382 0,70


A 11 4 73.33
E 13 2 86.67 0.2 0,1104 7,3758 0,75
I 15 0 100
O 11 4 73.33 0.8 0,0784 6,5048 0,60
U 10 5 66.67
1.0 0,1307 5,8271 1,12
TABLA NO 5– RESULTADOS DE GENERALIZACIÓN PARA LA RED
TABLA NO 9 –RESULTADOS PARA LA FIGURA 3-10
La generalización de la red, se determino, mediante la cantidad de
aciertos que se obtuvieron sobre la totalidad de ruidos introducidos. IV. OBSERVACIONES
De esta manera se puede observar que a mayor porcentaje mejor es la • Para cada método se fijaba un número de neuronas de 10, luego
generalización, así que la red en general es capaz de generalizar en un se incrementaban las iteraciones, desde 50 hasta 800, y en caso
80% de los patrones introducidos después del entrenamiento. tal de que no se obtuviera una buena validación se incrementaba
Para UV-SRNA se obtuvo: el número de neuronas en la capa oculta. Finalmente se
guardaba la red que quedara bien entrenada teniendo en cuenta
Datos Significado que es mejor tener mas iteraciones que neuronas, por la carga
10 Numero de Patrones de entrenamiento computacional de la red.
35 Numero de entradas de cada patrón • Para la figura 3_10 se uso un error de entrenamiento igual a 0.1;
4 Numero de salidas de cada patrón
9 Numero de patrones de Validación
para efecto de pruebas y ver el comportamiento de la red en un
GD Mejor método de entrenamiento modo real.
LM La red se sobre entreno (Memorizo) • Para la función seno2 cuando se utilizo el método 5, se obtuvo la
8 Aciertos mejor validación y posterior generalización, esto se debe a que
1 Fallos
99% Eficiencia
cuando realizamos el método de entrenamiento esta logro
TABLA NO 6–RESULTADOS OBTENIDOS EN UV-SRNA realizar la cantidad de iteraciones propuestas y se ubico en el
mínimo global que por suerte fue el error deseado
4. Entrene una red neuronal tipo MLP tanto en MATLAB
como en UVSRNA que sirva para reconocer los dígitos del 0- V. CONCLUSIONES
9. • Para determinar el número de capas ocultas y el número de
De igual manera que en las vocales, para los dígitos se presenta las neuronas que debe contener cada una de ellas no existe una
tablas que representan los mejores entrenamientos para cada método técnica determinada, ya que depende del problema por tanto la
y la capacidad de generalización. elección es determinada por la experiencia de la persona que
este diseñando la red.
Método Neuronas Iteraciones • Los mejores resultados de entrenamiento se obtuvieron con el
1 20 500 método del algoritmo de Levenberg-Marquardt debido a que se
2 10 100 utilizaron pocas neuronas en la capa oculta y pocas iteraciones,
3 20 500
4 10 100
lo cual disminuye la carga computacional de la red.
5 5 100 • En cuanto a la generalización de las redes de reconocimiento de
TABLA NO 7– RESULTADOS DE LA RED EN MATLAB® patrones (vocales y dígitos), se logro un mejor desempeño en la
red de vocales, debido a que la calidad de los datos de
Para la red mejor entrenada (con el Método 5), se llevo a cabo la entrenamiento fueron mejores a los utilizados en la red de
validación de la red, introduciendo para este caso 5 ruidos a la grilla. dígitos. Lo cual se evidencia en los porcentajes de
generalización: Vocales: 80% y Dígitos: 32.5%
Digito Aciertos %Generalización Digito Aciertos %Generalización
0 1 20 5 0 0
1 3 60 6 4 80
VI. BIBLIOGRAFÍA
2 1 20 7 1 20 [1] Guía de Laboratorio No.3. Diseño y Simulación de un Perceptrón
3 2 40 8 1 20
multicapa (MLP) con Matlab y UV-SRNA Perceptrón. Universidad
4 0 0 9 0 0
TABLA NO 8–RESULTADOS FINALES DE LA FUNCIÓN SENO2
del Valle. 2010.
[2] Caicedo, Eduardo. López, Jesús. Una Aproximación a las Redes
La generalización de la red, se determino, mediante la cantidad de Neuronales Artificiales. Programa Editorial Universidad del Valle.
aciertos que se obtuvieron sobre la totalidad de ruidos introducidos. 2010.

Vous aimerez peut-être aussi