regresión lineal
DESCRIPTION
Redes neuronales aplicadas a la regresión lineal para un datasetTRANSCRIPT
Universidad Catolica de Temuco Ingenierıa Civil Informatica
Trabajo RecuperativoProblema de Regresion
Felipe [email protected]
29 de Junio de 2015
1. Introduccion
Las Redes Neuronales Artificiales son una herramienta informatica que sehan vuelto muy relevantes para generalizar a partir de una serie de datos. Perose requiere de una construccion sobre su estructura la cual esta intimamenterelacionada con las caracterısticas de los datos a estudiar. A continuacion sepresenta un analisis obtenido a partir de una agrupacion de observaciones en unarchivo CSV.
Esto se construye a partir de la programacion en Python haciendo uso de lalibrerıa PyBrain.
2. Solucion
Se tiene un CSV con alrededor de 5400 observaciones, cuya estructura dedatos es como se muestra en la siguiente imagen:
Figura 1: Archivo dataset.csv
1
Universidad Catolica de Temuco Ingenierıa Civil Informatica
Al ser leido en python los datos necesarios y configurados, se construye lared neuronal.
Esta red neuronal estara estructurada particularmente por una red mul-ticapa con backpropagation, pues es la red mas usada en muchas aplicaciones,incluyendo la Prediccion.
Para esto se contruye a partir de los datos, un vector asociado a los va-lores de entrada y uno en funcion de lo esperado. Ademas de definir seran un70 % de los datos para entrenamiento y el 30 % restante para testeo. .
Figura 2: Codigo Python
Luego al momento de crear la red neuronal, ha de ser considerado la funcionde activacion de la capa oculta y salida (f1 y f2), por el tipo de dato se haoptado por ’tanh’, creando las capas oculta y de salida con funcion de tangentehiperbolica. Existe la posiblidad de configurarlas como sigmoide, pero al revisarla prediccion se puede apreciar que esta opcion no es la correcta:
Figura 3: Salida Consola
2
Universidad Catolica de Temuco Ingenierıa Civil Informatica
Figura 4: Plot Datos
..
Figura 5: Plot R2
Al testear la configuracion lineal, el codigo no logra ni siquiera terminar elentrenamiento.
Luego solo resta entrenar la red, bajo la funciones de activacion sigmoide,para obtener una prediccion y las metricas de rendimiento.
3
Universidad Catolica de Temuco Ingenierıa Civil Informatica
3. Analisis de los Resultados
Para analizar los resultados de las predicciones, se uso el calculo de la pre-diccion en funcion de 6 configuraciones:
1. 10 Neuronas de Entrada y 6 Neuronas en la Capa Oculta.
2. 50 Neuronas de Entrada y 25 Neuronas en la Capa Oculta.
3. 200 Neuronas de Entrada y 80 Neuronas en la Capa Oculta.
4. 1000 Neuronas de Entrada y 400 Neuronas en la Capa Oculta.
Donde se consideran las metricas de rendimiento, plot de prediccion de datos yR2 y su tiempo de ejecucion
3.1. 10 Entrada; 6 Capa Oculta
Respecto de las metricas de rendimiento para esta configuracion se tiene:
FANN Metrics
MAE: 0.240270662572
MAPE: 0.205870659296
RMSE: 0.285418851769
NMSE: 1.07781372931
R-Square: 0.0512781244492
Time (s): 15.5661828518
Esta configuracion demora poco mas de 15 segundos en obtener una predic-cion a partir del entrenamiento, lo cual es bastante rapido. Cabe destacar que lacantidad de observaciones es bastante reducida, lo que permite un aprendizajeen tan poco tiempo. Esta prediccion se aprecia a continuacion en la figura[6] yfinalmente la metrica R2: .
Figura 6: Plot Datos vs Prediccion 10-6
4
Universidad Catolica de Temuco Ingenierıa Civil Informatica
Figura 7: Plot R2 10-6
3.2. 50 Entrada; 25 Capa Oculta
Respecto de las metricas de rendimiento para esta configuracion se tiene:
FANN Metrics
MAE: 0.139139962849
MAPE: 0.119643908527
RMSE: 0.172036689504
NMSE: 0.391088126691
R-Square: 0.737753757418
Time (s): 32.6625928879
Esta vez, el tiempo transcurrido es superio a 30 segundos, siendo mas eficien-te que la configuracion anterior en relacion a la cantidad de neuronas en funciondel tiempo que la configuracion anterior. Pues es mas del doble en neuronaspero no mas del doble en tiempo. La precision es notablemente mayor al visua-lizar los datos reales respecto de las predicciones. Esta prediccion se aprecia acontinuacion en la figura[8] y finalmente la metrica R2 en la figura[9]: .
Figura 8: Plot Datos vs Prediccion 50-25
5
Universidad Catolica de Temuco Ingenierıa Civil Informatica
Figura 9: Plot R2 50-25
3.3. 200 Entrada; 80 Capa Oculta
Respecto de las metricas de rendimiento para esta configuracion se tiene:
FANN Metrics
MAE: 0.132771951985
MAPE: 0.108278475553
RMSE: 0.165831346111
NMSE: 0.363682333238
R-Square: 0.646363346716
Time (s): 20.6649198532
El tiempo de ejecucion es considerablemente menor en comparacion a laconfiguracion [50-25], postulando esta configuracion como la mas eficiente delos 3, esto genera dos interrogantes, Como sera su precision respecto de las an-teriores? y ademas, que ocurre al incrementar aun mas las neuronas?: .
6
Universidad Catolica de Temuco Ingenierıa Civil Informatica
Figura 10: Plot Datos vs Prediccion 200-80
Figura 11: Plot R2 200-80
7
Universidad Catolica de Temuco Ingenierıa Civil Informatica
3.4. 1000 Entrada; 400 Capa Oculta
Respecto de las metricas de rendimiento para esta configuracion se tiene:
FANN Metrics
MAE: 0.227862906372
MAPE: 0.174750249105
RMSE: 0.284308845147
NMSE: 1.00091608684
R-Square: 0.478678383486
Time (s): 97.6649069786
Esta configuracion tomo mas tiempo que cualquier otra configuracion, loque responde a la interrogante planteada en la seccion anterior. Mas neuronasno reduce el tiempo de ejecucion, como se dio en [200-80], respecto de sus grafi-cas: .
Figura 12: Plot Datos vs Prediccion 1000-400
Figura 13: Plot R2 1000-400
8
Universidad Catolica de Temuco Ingenierıa Civil Informatica
4. Conclusion
El uso de las redes neuronales para la prediccion es valioso y atractivo. Adiferencia de metodos basados en modelos tradicionales, las ANN, estan basadasen metodos auto adaptativos en que hay pocas suposiciones. Ademas aprendende ejemplos y capturan relaciones funcionales sutiles entre los datos, siendo ası,muy adecuadas para los problemas en los cuales, las soluciones requieren unconocimiento que es difıcil de precisar.
Respecto de la prediccion, se pudo apreciar que la tendencia de los tresprimeros casos, era mejorar la exactitud de las predicciones, sin embargo, lacuarta configuracion demostro que no necesariamente el incremento de neuro-nas puede llevar a una mejor prediccion. Es cosa de comparar el R2 en [200-80] y[1000-400], en donde se aprecia mayor precision para [200-80]. Ademas se habıaplanteado la duda sobre si el incremento de neuronas reducıa el tiempo, y estoes cierto para algunos casos, como por ejemplo el incremento de [50-25] con 32segundos a la cantidad de [200-80] con 20 segundos, no ha sı el caso de [1000-400]donde se arroja un tiempo en 97 segundos.
De lo testeado, la mas precisa y eficiente es la configuracion [200-80] confunciones de activacion sigmoide. Puesto que [200-80] tan es imprecisa.
Referencias
[1] Laurene Fausett, Fundamentals of Neural Networks, Pearson; 1 edi-tion (December 19, 1993),
[2] Antonio J. Serrano, Emilio Soria, Jose D. Martın, Redes Neurona-les Artificiales, Escola Tecnica Superior d’ Enginyeria,
[3] Mariusz Bernacki, Principles of training multi-layer neural networkusing backpropagation, http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_
en/backprop.html,
[4] Daniel San martin, Algoritmo Backpropagation, Universidad Catoli-ca de Temuco,
[5] Guoqiang Zhang, B. Eddy Patuwo, Michael Y. Hu Forecasting withartificial neural networks: The state of the art Graduate School of Ma-nagement, Kent State University, Kent, Ohio 44242-0001, USA
[6] Jeff Heaton The Number of Hidden Layers http://www.
heatonresearch.com/node/707
9