curve fitting: neural network (multilayer perceptron) vs...

8
246 Curve fitting: Neural network (multilayer perceptron) vs symbolic regression Ajuste de curvas: Red neuronal (perceptrón multicapa) vs regresión simbólica Rafael Moreno P. ramsoftware(AT)gmail.com Universidad Libre. Cali – Colombia Artículo de Investigación Abstract Given a series of historical data, the curve expressed in the form y = f (x) that is closer or the best is sought match those data. Deterministic procedures exist as nonlinear regression. Other methods are not deterministic as the symbolic regression (based on genetic algorithms) and the Multilayer Perceptron (a type of neural network). A comparison of nondeterministic methods against various data sets is presented. Keywords: Curve fitting, multilayer perceptron, symbolic regression. Resumen Dada una serie de datos históricos, se busca la curva expresada en la forma y=f(x) que se acerque más o en el mejor de los casos, coincida con esos datos. Existen procedimientos determinísticos como la regresión no lineal. Otros métodos son no determinísticos como la regresión simbólica (basada en algoritmos genéticos) y el perceptrón multicapa (un tipo de red neuronal). Se presenta una comparación entre estos métodos no determinísticos frente a diversos conjuntos de datos. Palabras clave: Ajuste de curvas, perceptrón multicapa, regresión simbólica. © 2016. IAI All rights reserved Citación Moreno, R. 2016. Ajuste de curvas: Red neuronal (perceptrón multicapa) vs regresión simbólica. Actas de Ingeniería 2, 246-253. Actas de Ingeniería Vol. 2, pp. 246-253, 2016 http://fundacioniai.org/actas

Upload: dangcong

Post on 18-Sep-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Curve fitting: Neural network (multilayer perceptron) vs ...fundacioniai.org/actas/Actas2/Actas2.29.pdf · absolutos de seno y coseno. Un procedimiento, que ... en vez de disminuir,

246

Curve fitting: Neural network (multilayer perceptron) vs symbolic regression

Ajuste de curvas: Red neuronal (perceptrón multicapa) vs regresión simbólica

Rafael Moreno P. ramsoftware(AT)gmail.com

Universidad Libre. Cali – Colombia

Artículo de Investigación

Abstract Given a series of historical data, the curve expressed in the form y = f (x) that is closer or the best is sought match those data. Deterministic procedures exist as nonlinear regression. Other methods are not deterministic as the symbolic regression (based on genetic algorithms) and the Multilayer Perceptron (a type of neural network). A comparison of nondeterministic methods against various data sets is presented.

Keywords: Curve fitting, multilayer perceptron, symbolic regression.

Resumen Dada una serie de datos históricos, se busca la curva expresada en la forma y=f(x) que se acerque más o en el mejor de los casos, coincida con esos datos. Existen procedimientos determinísticos como la regresión no lineal. Otros métodos son no determinísticos como la regresión simbólica (basada en algoritmos genéticos) y el perceptrón multicapa (un tipo de red neuronal). Se presenta una comparación entre estos métodos no determinísticos frente a diversos conjuntos de datos.

Palabras clave: Ajuste de curvas, perceptrón multicapa, regresión simbólica.

© 2016. IAI All rights reserved

Citación Moreno, R. 2016. Ajuste de curvas: Red neuronal (perceptrón multicapa) vs regresión simbólica. Actas de Ingeniería 2, 246-253.

Actas de Ingeniería Vol. 2, pp. 246-253, 2016

http://fundacioniai.org/actas

Page 2: Curve fitting: Neural network (multilayer perceptron) vs ...fundacioniai.org/actas/Actas2/Actas2.29.pdf · absolutos de seno y coseno. Un procedimiento, que ... en vez de disminuir,

247

1. Introducción

El ajuste de curvas [1, 2] es un método para encontrar una curva, que se aproxime a una serie de puntos dados previamente. En series temporales, tales como el comportamiento del dólar frente al peso colombiano, el comportamiento del caudal de un río durante un año o el crecimiento de las plantas durante una estación, tienen en común que el eje X es una unidad de tiempo y que para un valor de X solamente puede haber un valor de Y. Para el ajuste de curvas se utiliza la regresión no-lineal, que es un procedimiento determinístico. Puede probarse en WolframAlpha [3] o usando Microsoft Excel: se genera el gráfico de dispersión y luego se aplica la opción Agregar línea de tendencia [4].

Los métodos no-determinísticos, comparados en este estudio para el ajuste de curvas, son el perceptrón multicapa (un tipo de red neuronal) y la regresión simbólica (basado en los algoritmos genéticos). El primero se considera no-determinístico porque los pesos y los umbrales se inicializan con valores aleatorios, que después son ajustados con el algoritmo de propagación hacia atrás (backpropagation) [5]. La regresión simbólica [6] requiere una serie de números aleatorios para inicializar la población, seleccionar dos individuos al azar, determinar cuál tiene el mejor ajuste, copiar el mejor y variar esta copia en forma aleatoria. Se utiliza el método de los mínimos cuadrados para saber cuál de esos métodos tiene el mejor ajuste. Entre más cerca a cero, mejor es la aproximación.

2. El perceptrón multicapa

Para ajustarse a una serie temporal de puntos [7], la primera capa, de lectura, es de una neurona y la última, de salida, también de una neurona. Tendrá dos capas ocultas. Cada capa oculta tendrá cinco neuronas. El factor de aprendizaje es de 0,4. El método de ajuste será el algoritmo backpropagation. En la Figura 1 se observa el perceptrón utilizado.

Figura 1. Perceptrón multicapa

3. La regresión simbólica

Con base en algoritmos genéticos, la regresión simbólica se inicia generando una población de N individuos. Cada uno es una ecuación del tipo y = f(x) generada aleatoriamente. Por ejemplo:

y = (0.76 * x-abs (cos(x * 0.112))) / 0.3417

y = (sen(0.76/x) + abs(cos(x/0.112))) * (0.18/abs(cos(x+0.21)))

Las ecuaciones están compuestas por operadores como suma, resta, multiplicación y división, la variable independiente x, constantes que son números generados al azar, uso de paréntesis y funciones como valores absolutos de seno y coseno. Un procedimiento, que combina velocidad y ajuste, consiste en generar

aleatoriamente capas de piezas algebraicas, cada una formada por una función, un operando (variable o una constante), un operador y un segundo operando (variable o una constante). En la Figura 2 se puede observar un ejemplo.

Figura 2. Piezas generadas aleatoriamente

Una pieza de la capa 0 se combina con alguna otra de la capa 1, que, a su vez, se combina con alguna otra de la capa 2, y así sucesivamente. Esta combinación de piezas genera la expresión algebraica que es el individuo, tal como se muestra en la Figura 3.

Figura 3. Combinación de piezas

El individuo de la Figura 3 tendría las piezas:

Pieza [0] = 3 - x Pieza [1] = 7 - x Pieza [2] = 9 * [1] Pieza [3] = [1] / [0] Pieza [4] = x - [2]

La expresión del individuo sería:

y = x – [2] y = x – 9 * [1] y = x – 9 * (7 - x)

Se puede formar otro individuo usando el mismo arreglo bidimensional de piezas. La mutación de éste es cambiar una pieza por otra de la misma capa.

4. Los ciclos

Para comparar ambos métodos, se toma como base los ciclos que requieren. En el caso del perceptrón multicapa, en cada ciclo, se evalúa toda la serie de puntos de entrada y se compara cada salida con la serie de puntos de salida esperada, posteriormente, se aplica el algoritmo de propagación. En el caso de la regresión simbólica, en cada ciclo se toman dos individuos de la población al azar, se evalúa su aproximación y el de más baja se elimina de la población, dejando un puesto vacante, y el de mejor aproximación se le genera una copia, a la que se le modifica una pieza al azar y luego ocupa la vacante libre.

En la regresión simbólica hay varios factores para ajustar. Para las pruebas se tomó una población de 1000 individuos, cada uno conformado por 10 piezas, y el arreglo bidimensional de piezas tiene 10.000 piezas por capa. El software se puede descargar del sitio: http://darwin.50webs.com/Espanol/Capit07.htm.

5. Las pruebas

Prueba uno: hay un grupo de 366 puntos que semejan el rebote de un objeto que, en vez de disminuir, aumenta. Hay cambios bruscos en orientación cuando hay corte en el eje X, como se muestra en la Figura 4.

Page 3: Curve fitting: Neural network (multilayer perceptron) vs ...fundacioniai.org/actas/Actas2/Actas2.29.pdf · absolutos de seno y coseno. Un procedimiento, que ... en vez de disminuir,

248

Figura 4. Primera prueba: Rebotes ascendentes

Prueba dos: hay un grupo de 360 puntos que simula una onda creciente (Figura 5) donde no hay cambios bruscos en la dirección.

Figura 5. Segunda prueba: Incremento cíclico

Prueba tres: se toma el comportamiento del dólar con respecto al peso durante el 2015 (Figura 6).

Figura 6. Tercera prueba: Comportamiento dólar vs peso

Los datos de entrada y de salida son normalizados entre 0 y 1, la razón es que el perceptrón multicapa trabaja con valores entre 0 y 1 por su función de activación. El perceptrón multicapa tendrá 5 neuronas en cada capa oculta. Cada prueba se ejecutará 10 veces y se usarán desde 10.000 hasta 100.000 ciclos en incrementos de 10.000

Se implementaron ambos métodos usando el lenguaje de programación C# en el entorno de desarrollo Visual Studio 2015 update 2 y el .NET framework 4.5.2, aplicación de consola, no hilos y usando la librería System.Diagnostics, para medir los tiempos. Ambos algoritmos están en el mismo proyecto. Sistema operativo Windows 10 pro (64 bits). Hardware es un Intel Core i7-2600 a 3.40Ghz y 8Gb RAM DDR-3.

6. Resultados

6.1 Primera prueba: Rebotes ascendentes

En la Tabla 1 y la Figura 7 se observan los resultados de la aproximación, y en la Tabla 2 y la Figura 8 los obtenidos con el tiempo.

Tabla 1. Aproximación primera prueba

Ciclos Perceptrón multicapa Regresión Simbólica 10 000 11,166 13,309 20 000 12,640 11,831 30 000 8,421 9,802 40 000 14,394 11,155 50 000 8,992 11,412 60 000 7,917 8,650 70 000 8,443 7,686 80 000 9,030 7,140 90 000 11,638 9,285

100 000 10,679 7,756

Figura 7. Regresión simbólica en línea punteada; perceptrón

multicapa en línea continua

La regresión simbólica presenta un mejor comportamiento que el perceptrón multicapa.

Tabla 2. Tiempo en primera prueba para ambos

Ciclos Perceptrón multicapa Regresión simbólica 10 000 9 020 2 429 20 000 18 107 4 654 30 000 27 017 6 750 40 000 36 163 9 002 5 0000 45 496 11 087 60 000 54 729 13 444 70 000 63 768 15 336 80 000 73 381 17 737 90 000 81 973 20 006

100 000 89 622 21 637

Figura 8. Regresión simbólica en línea punteada; perceptrón

multicapa en línea continua

El perceptrón multicapa tarda aproximadamente 4 veces más que la regresión simbólica.

6.2 Segunda prueba

En la Tabla 3 y la Figura 9 se observan los resultados de la aproximación, y en la Tabla 4 y la Figura 10 los obtenidos con el tiempo.

Tabla 3. Aproximación segunda prueba

Ciclos Perceptrón multicapa Regresión Simbólica 10 000 2,607 14,001 20 000 1,621 11,702 30 000 1,218 12,332 40 000 1,397 10,673 50 000 1,524 9,619 60 000 0,866 7,048 70 000 0,996 10,073 80 000 0,791 7,276 90 000 0,963 6,247

100 000 2,043 6,189

Figura 9. Regresión simbólica en línea punteada; perceptrón

multicapa en línea continua

Page 4: Curve fitting: Neural network (multilayer perceptron) vs ...fundacioniai.org/actas/Actas2/Actas2.29.pdf · absolutos de seno y coseno. Un procedimiento, que ... en vez de disminuir,

249

El perceptrón multicapa es, en promedio, 7 veces mejor que la regresión simbólica.

Tabla 4. Tiempo en segunda prueba para ambos

Ciclos Perceptrón multicapa Regresión simbólica 10 000 8 909 2 408 20 000 17 901 4 662 30 000 26 621 6 798 40 000 35 548 8 988 50 000 45 021 11 169 60 000 54 234 13 491 70 000 62 724 15 718 80 000 73 012 17 719 90 000 81 596 20 103

100 000 90 564 21 961

Figura 10. Regresión simbólica en línea punteada;

perceptrón multicapa en línea continua

El perceptrón multicapa tarda aproximadamente 4 veces más que la regresión simbólica.

6.3 Tercera prueba

En la Tabla 5 y la Figura 11 se observan los resultados de la aproximación, y en la Tabla 6 y la Figura 12 los obtenidos con el tiempo.

Tabla 5. Aproximación tercera prueba

Ciclos Perceptrón multicapa Regresión Simbólica 10 000 1,550 4,419 20 000 1,379 3,714 30 000 1,235 3,840 40 000 1,213 3,669 50 000 1,139 3,060 60 000 1,191 3,390 70 000 1,177 2,792 80 000 1,146 2,625 90 000 1,096 2,888

100 000 1,091 2,596

Figura 11. Regresión simbólica en línea punteada; perceptrón

multicapa en línea continua

El perceptrón multicapa es en promedio 2,7 veces mejor que la regresión simbólica.

Figura 12. Regresión simbólica en línea punteada;

perceptrón multicapa en línea continua

Tabla 6. Tiempo en tercera prueba para ambos

Ciclos Perceptrón multicapa Regresión simbólica 10 000 8 531 2 291 20 000 17 327 4 493 30 000 27 005 6 729 40 000 35 918 8 810 50 000 45 152 11 095 60 000 54 325 13 467 70 000 63 502 15 636 80 000 72 379 17 843 90 000 82 152 20 078

100 000 91 603 21 834

7. Mejorando el perceptrón multicapa

Aumentando el número de neuronas en las capas ocultas se mejora su aproximación. En la siguiente prueba se aumenta a 8 neuronas en cada capa oculta.

7.1 Primera prueba

En la Tabla 7 y la Figura 13 se observan los resultados de la aproximación, y en la Tabla 8 y la Figura 14 los obtenidos con el tiempo.

Tabla 7. Perceptrón multicapa con más neuronas

Ciclos Multicapa:

8 neuronas Multicapa:

5 neuronas Regresión Simbólica

10 000 12,265 11,166 13,316 20 000 14,264 12,640 12,094 30 000 7,473 8,421 10,167 40 000 5,251 14,394 11,337 50 000 4,069 8,992 9,832 60 000 6,295 7,917 5,536 70 000 4,617 8,443 8,628 80 000 3,686 9,030 7,648 90 000 3,943 11,638 9,936

100 000 3,275 10,679 5,837

Figura 13. Regresión simbólica en línea punteada; perceptrón

multicapa en línea continua

La mejora es evidente al usar un mayor número de neuronas, pero, en cuanto al tiempo, el resultado es diferente, porque el costo fue doblar el tiempo para el perceptrón multicapa.

Figura 14. Regresión simbólica en línea punteada; perceptrón

multicapa en línea continua

Page 5: Curve fitting: Neural network (multilayer perceptron) vs ...fundacioniai.org/actas/Actas2/Actas2.29.pdf · absolutos de seno y coseno. Un procedimiento, que ... en vez de disminuir,

250

Tabla 8. Tiempo en primera prueba

Ciclos Multicapa:

8 neuronas Multicapa:

5 neuronas Regresión simbólica

10 000 19 637 9 020 2 429 20 000 39 226 18 107 4 654 30 000 58 953 27 017 6 750 40 000 79 289 36 163 9 002 50 000 98 139 45 496 11 087 60 000 117 739 54 729 13 444 70 000 140 087 63 768 15 336 80 000 162 896 73 381 17 737 90 000 182 675 81 973 20 006

100 000 201 539 89 622 21 637

7.2 Segunda Prueba

En la Tabla 9 y la Figura 15 se observan los resultados de la aproximación, y en la Tabla 10 y la Figura 16 los obtenidos con el tiempo, donde se observa que en la aproximación las mejora es evidente.

Tabla 9. Aproximación segunda prueba

Ciclos Multicapa:

8 neuronas Multicapa:

5 neuronas Regresión Simbólica

10 000 1,126 2,607 14,001 20 000 0,602 1,621 11,702 30 000 0,599 1,218 12,332 40 000 0,905 1,397 10,673 50 000 0,272 1,524 9,619 60 000 0,273 0,866 7,048 70 000 0,333 0,996 10,073 80 000 0,378 0,791 7,276 90 000 0,689 0,963 6,247

100 000 0,568 2,043 6,189

Figura 15. Regresión simbólica en línea punteada; perceptrón

multicapa en línea continua

Tabla 10. Tiempo en segunda prueba

Ciclos Multicapa:

8 neuronas Multicapa:

5 neuronas Regresión simbólica

10 000 19296 8 909 2 408 20 000 38655 17 901 4 662 30 000 57654 26 621 6 798 40 000 78346 35 548 8 988 50 000 97225 45 021 11 169 60 000 116926 54 234 13 491 70 000 139122 62 724 15 718 80 000 162164 73 012 17 719 90 000 179464 81 596 20 103

100 000 200738 90 564 21 961

Figura 16. Regresión simbólica en línea punteada;

perceptrón multicapa en línea continua

7.3 Tercera Prueba

En la Tabla 11 y la Figura 17 se observan los resultados de la aproximación, y en la Tabla 12 y la Figura 18 los obtenidos con el tiempo.

Tabla 11. Aproximación tercera prueba

Ciclos Multicapa: 8

neuronas Multicapa: 5

neuronas Regresión Simbólica

10 000 1,565 1,550 4,419 20 000 1,272 1,379 3,714 30 000 1,209 1,235 3,840 40 000 1,182 1,213 3,669 50 000 1,162 1,139 3,060 60 000 1,165 1,191 3,390 70 000 1,122 1,177 2,792 80 000 1,111 1,146 2,625 90 000 1,119 1,096 2,888

100 000 1,108 1,091 2,596

Figura 17. Regresión simbólica en línea punteada; perceptrón

multicapa en línea continua

Tabla 12. Tiempo en tercera prueba

Ciclos Multicapa:

8 neuronas Multicapa:

5 neuronas Regresión simbólica

10 000 19 539 8 531 2 291 20 000 39 275 17 327 4 493 30 000 58 288 27 005 6 729 40 000 79 938 35 918 8 810 50 000 101 950 45 152 11 095 60 000 117 948 54 325 13 467 70 000 139 911 63 502 15 636 80 000 160 524 72 379 17 843 90 000 183 029 82 152 20 078

100 000 200 461 91 603 21 834

Figura 18. Regresión simbólica en línea punteada; perceptrón

multicapa en línea continua

8. Mejorando la Regresión Simbólica

Esta técnica tiene diversos puntos para configurarse: tamaño de la población, número de piezas que conformará cada individuo y número de piezas por capa. El algoritmo puede variar para tener otras funciones (ahora tiene el valor absoluto del seno y el coseno) u otros operadores (ahora tiene la suma, resta, multiplicación y división). La mecánica puede variar y, en vez de seleccionar dos individuos para, se podría tomar tres o más; otro cambio sería la forma de seleccionar los

Page 6: Curve fitting: Neural network (multilayer perceptron) vs ...fundacioniai.org/actas/Actas2/Actas2.29.pdf · absolutos de seno y coseno. Un procedimiento, que ... en vez de disminuir,

251

individuos en la población, como evaluar toda la población y tomar solamente a los mejores para reproducción, y eliminar a los peores.

A continuación, se hacen las pruebas con el mismo algoritmo de regresión simbólica y sin cambiar ninguna configuración, se aumenta el número de ciclos hasta un millón (de 100.000 en 100.000), para aproximarse al tiempo que tomó el perceptrón multicapa de 8 neuronas.

8.1 Primera Prueba

En la Tabla 13 se observan los resultados, donde la regresión simbólica tiene una aproximación notablemente mejor que el perceptrón multicapa.

Tabla 13. Aproximación primera prueba

Ciclos Aproximación

Regresión Simbólica Perceptrón multicapa:

8 neuronas 100 000 5,837 12,265 200 000 4,187 14,264 300 000 6,897 7,473 400 000 2,944 5,251 500 000 3,961 4,069 600 000 2,671 6,295 700 000 1,151 4,617 800 000 0,638 3,686 900 000 3,306 3,943

1000 000 1,781 3,275

8.2 Segunda Prueba

En la Tabla 14 se observan los resultados, donde la regresión simbólica no logró una aproximación similar a la del perceptrón.

Tabla 14. Aproximación segunda prueba

Ciclos Aproximación

Regresión Simbólica Perceptrón multicapa:

8 neuronas 100 000 8,404 1,126 200 000 5,905 0,602 300 000 5,388 0,599 400 000 4,510 0,905 500 000 3,851 0,272 600 000 4,048 0,273 700 000 4,642 0,333 800 000 2,882 0,378 900 000 5,369 0,689

1000 000 4,511 0,568

8.3 Tercera Prueba

En la Tabla 15 se observan los resultados, donde la regresión simbólica no logró una aproximación similar a la del perceptrón.

Tabla 15. Entre más cerca a cero es mejor la aproximación

Ciclos Aproximación

Regresión Simbólica Perceptrón multicapa: 8

neuronas 100 000 2,898 1,565

200 000 2,578 1,272 300 000 2,377 1,209 400 000 2,229 1,182 500 000 2,285 1,162 600 000 2,082 1,165 700 000 1,982 1,122 800 000 2,385 1,111 900 000 2,204 1,119

1000 000 1,902 1,108

Los resultados mostrados en cada tabla anterior son un promedio de los resultados de haber ejecutado los algoritmos diez veces cada uno. Mirando en detalle cada ejecución y su resultado, se nota que los resultados varían entre estar muy cercanos a aproximación cero y alejarse demasiado. Por ejemplo, en la primera prueba,

con 100 000 ciclos, la Tabla 16 muestra las 10 ejecuciones de los algoritmos.

Tabla 16. Resultados en detalle del perceptrón multicapa y la regresión simbólica

Ejecución Perceptrón multicapa:

8 neuronas Aproximación

Regresión Simbólica 1 1,714 4,653 2 0,938 3,606 3 0,954 7,867 4 1,487 12,108 5 15,088 6,130 6 1,016 4,398 7 6,425 13,141 8 0,888 7,060 9 1,754 7,500

10 2,488 0,295

En las columnas que muestran la aproximación los datos varían ampliamente. En Perceptrón multicapa la mejor aproximación es 0,888 y la peor es 15,088, mientras que en la Regresión simbólica son 0,295 y 13,141 respectivamente. El promedio de esas ejecuciones fue lo que se mostró en las tablas anteriores. Si en vez de mostrar un promedio de ejecuciones se toma la mejor ejecución de cada algoritmo, los resultados para cada prueba serían los que se muestran en las Tablas 17 a 19.

Tabla 17. Primera prueba. Mejor Regresión simbólica

Ciclos Multicapa: 8 neuronas

Multicapa: 5 neuronas

Regresión Simbólica

10 000 9,272 7,915 2,100 20 000 7,385 5,065 5,276 30 000 2,305 4,986 0,691 40 000 1,559 4,177 3,112 50 000 1,387 3,187 0,669 60 000 0,965 3,639 0,206 70 000 1,706 4,231 0,737 80 000 0,779 2,362 0,883 90 000 0,624 2,577 0,428

100 000 0,888 2,412 0,295 Promedio 2,687 2,362 1,440

Tabla 18. Segunda prueba. Perceptrón multicapa de 8 neuronas muestra mejor comportamiento

Ciclos Multicapa:

8 neuronas Multicapa:

5 neuronas Regresión Simbólica

10 000 0,382 1,027 11,525 20 000 0,170 0,333 9,751 30 000 0,234 0,185 3,824 40 000 0,158 0,375 5,693 50 000 0,147 0,389 4,661 60 000 0,126 0,200 4,071 70 000 0,094 0,456 3,077 80 000 0,103 0,206 0,679 90 000 0,036 0,246 3,593

100 000 0,096 0,159 4,221 Promedio 0,155 0,358 5,109

Tabla 19. Tercera prueba. El perceptrón multicapa de 8 neuronas es mejor

Ciclos Multicapa:

8 neuronas Multicapa:

5 neuronas Regresión Simbólica

10 000 1,410 1,397 3,197 20 000 1,219 1,249 2,643 30 000 1,070 1,161 2,589 40 000 1,031 1,142 2,150 50 000 1,034 0,735 2,094 60 000 1,075 1,145 1,872 70 000 1,027 1,081 2,123 80 000 1,016 1,082 2,015 90 000 0,971 1,022 1,982

100 000 0,982 0,860 1,978 Promedio 1,084 1,087 2,264

Page 7: Curve fitting: Neural network (multilayer perceptron) vs ...fundacioniai.org/actas/Actas2/Actas2.29.pdf · absolutos de seno y coseno. Un procedimiento, que ... en vez de disminuir,

252

Buscando el mejor en cada conjunto de pruebas, el perceptrón de 8 neuronas fue mayoritariamente mejor. Pero, para encontrar el mejor, habría que sumar los tiempos de todas las ejecuciones, y es notable el costo de encontrar un mejor ajuste de curvas, tal como se observa en los resultados de las Tablas 20 a 22 para cada prueba.

Tabla 20. Tiempos Primera prueba

Ciclos Multicapa:

8 neuronas Multicapa:

5 neuronas Regresión simbólica

10 000 196 373 90 195 24 161 20 000 392 260 181 068 45 542 30 000 589 530 270 174 67 382 40 000 792 892 361 632 89 587 50 000 981 387 454 963 110 980 60 000 1 177 386 547 293 133 581 70 000 1 400 868 637 682 156 606 80 000 1 628 957 733 806 181 106 90 000 1 826 748 819 725 204 664

100 000 2 015 385 896 217 222 814

Tabla 21. Tiempos Segunda prueba

Ciclos Multicapa:

8 neuronas Multicapa:

5 neuronas Regresión simbólica

10 000 192 964 89 093 24 082 20 000 386 553 179 011 46 218 30 000 576 538 266 213 67 035 40 000 783 463 355 483 90 790 50 000 972 254 450 210 111 304 60 000 1 169 259 542 337 132 303 70 000 1 391 219 627 236 159 167 80 000 1 621 641 730 121 182 266 90 000 1 794 643 815 959 202 575

100 000 2 007 380 905 641 228 666

Tabla 22. Tiempos Tercera prueba

Ciclos Multicapa:

8 neuronas Multicapa:

5 neuronas Regresión simbólica

10 000 195 386 85 311 23 928 20 000 392 754 173 271 45 897 30 000 582 881 270 053 68 105 40 000 799 379 359 184 90 701 50 000 1 019 499 451 522 111 805 60 000 1 179 482 543 253 132 200 70 000 1 399 111 635 022 154 223 80 000 1 605 240 723 791 180 668 90 000 1 830 290 821 521 204 666

100 000 2 004 613 916 031 223 321

En las tres pruebas se aprecia alto consumo de tiempo de multicapa 8 neuronas, frente a regresión simbólica.

8.4 Información requerida por cada algoritmo

Por definición, el perceptrón multicapa utilizado en las pruebas hace uso de pesos y umbrales, que son números de tipo doublé. La cantidad para el perceptrón multicapa con 8 neuronas en las dos capas ocultas sería:

Capa 1 se conecta con capa 2: 8 pesos Capa 2 con 8 neuronas: 8 umbrales Capa 2 se conecta con capa 3: 64 pesos Capa 3 con 8 neuronas: 8 umbrales Capa 3 se conecta con capa 4: 8 pesos Capa 4 con 1 neurona: 1 umbral

En total requiere 8+8+64+8+8+1 = 97 valores de tipo double que, en C#, equivaldría a 97*64bits = 6208 bits. La regresión simbólica hace uso de piezas y cada pieza tiene:

Una función. Entero. 32 bits Variable A. Entero. 32 bits Constante. Doble. 64 bits Operador. Entero. 32 bits

Variable B. Entero. 32 bits Tipo de pieza. Entero. 32 bits

Una pieza requiere 224 bits y, como una expresión está compuesta de 10 piezas en las pruebas, entonces ocuparía 2240 bits. En cada capa oculta, el perceptrón multicapa de 8 neuronas requiere casi 3 veces más almacenamiento que la regresión simbólica. Cabe aclarar que la implementación en C# fue con el tipo de datos entero por facilidad en la codificación, pero, en un examen más detallado del algoritmo, la pieza podría reemplazar el entero por el tipo de datos char, que ocupa 8 bits, y el conteo de cada pieza sería:

Una función. Char. 8 bits Variable A. Char. 8 bits Constante. Doble. 64 bits Operador. Char. 8 bits Variable B. Char. 8 bits Tipo de pieza. Char. 8 bits

Una pieza requeriría 112 bits, entonces, la expresión que tiene 10 piezas usaría 1120 bits. En este caso, el perceptrón multicapa de 8 neuronas requeriría 5,5 veces más información que la regresión simbólica. Elevando de 10 a 30 piezas la expresión matemática en la regresión simbólica, se repiten las pruebas para ver si el aumento en información mejora la aproximación. Los resultados para cada prueba se aprecian en las Tablas 23 a 25.

Tabla 23. Aproximación primera prueba

Ciclos Regresión

Simbólica: 30 piezas Regresión Simbólica:

10 piezas 10 000 13,426 13,309 20 000 12,215 11,831 30 000 10,229 9,802 40 000 10,169 11,155 50 000 10,430 11,412 60 000 10,724 8,650 70 000 9,301 7,686 80 000 7,948 7,140 90 000 10,381 9,285

100 000 8,674 7,756

Tabla 24. Aproximación segunda prueba

Ciclos Regresión Simbólica:

30 piezas Regresión Simbólica:

10 piezas 10 000 12,676 14,001 20 000 12,503 11,702 30 000 10,725 12,332 40 000 10,825 10,673 50 000 8,921 9,619 60 000 9,402 7,048 70 000 7,823 10,073 80 000 6,135 7,276 90 000 9,684 6,247

100 000 7,423 6,189

Tabla 25. Aproximación tercera prueba

Ciclos Regresión Simbólica:

30 piezas Regresión Simbólica:

10 piezas 10 000 4,528 4,419 20 000 3,768 3,714 30 000 3,139 3,840 40 000 3,576 3,669 50 000 3,245 3,060 60 000 3,036 3,390 70 000 3,147 2,792 80 000 2,868 2,625 90 000 2,831 2,888

100 000 2,572 2,596

Page 8: Curve fitting: Neural network (multilayer perceptron) vs ...fundacioniai.org/actas/Actas2/Actas2.29.pdf · absolutos de seno y coseno. Un procedimiento, que ... en vez de disminuir,

253

En las tres pruebas se triplicó el tiempo usado por la regresión simbólica de 30 piezas, en comparación con el tiempo usado por la regresión simbólica de 10 piezas.

9. Conclusiones

Al aumentar el número de neuronas en las capas ocultas, el perceptrón multicapa mostró ser mejor ajuste de curvas que la regresión simbólica, pero, asumiendo el costo de aumentar el tiempo de procesamiento. Este aumento de tiempo es lineal (no exponencial, ni potencial), por lo que es aceptable.

Por otro lado, la ventaja de la regresión simbólica es ser más rápida y requerir menos almacenamiento, pero su ajuste no alcanza al obtenido por el perceptrón, aunque se incremente el número de ciclos, número de piezas y, llegado al caso, consume más tiempo que el perceptrón. Se debe considerar que hay varias partes que se pueden mejorar, incluyendo el mismo algoritmo, por lo que no se puede asegurar que esta técnica de ajuste de curvas deba desecharse.

Referencias

[1] Gurle, K. (2003). Numerical Methos Lecture 5 – Curve Fitting Techniques. CGN-3421 computer methods.

[2] Arlinghaus, S. (1994). Practical handbook of curve fitting. Boca Raton: CRC Press.

[3] http://www.wolframalpha.com/input/?i=curve+fitting. [Nov 2015].

[4] Microsoft Office (2016). Agregar una línea promedio móvil o de tendencia a un gráfico. Online [Dec 2015].

[5] Sathyanarayana, S. (2014). A Gentle Introduction to Backpropagation. Numeric Insight, Inc.

[6] Zelinka, I. (2004). Symbolic regression - An overview. Tomas Bata University Zlin. Faculty of Technology Institute of Information Technologies.

[7] Martínez, C. (2011). Problemas abiertos en la aplicación de la Regresión Simbólica en el pronóstico de series de tiempo. Tesis de Maestría. Universidad Nacional de Colombia.

[8] Borges, C. & Montaña, J. (2011). Ajuste de Curvas: Problemas de Regresión. Departamento de Matemáticas, Estadística y Computación. Universidad de Cantabria.

[9] Moreno, R. (2012). Simulación: Conceptos y Programación. Cali: Universidad Libre.

[10] Nicolas, P. (2013). Data Modeling using Symbolic Regression. Online [Feb 2016].

[11] García, J. (2010). Informe Final del proyecto Regresión Simbólica de Funciones Booleanas Usando Evolución Gramatical. Universidad del Quindío.