ebook img

Algoritmos de aprendizaje automatizado para el meta compresor de datos Blosc PDF

155 Pages·2017·12.66 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Algoritmos de aprendizaje automatizado para el meta compresor de datos Blosc

Grado en Matema´tica Computacional Estancia en Pra´cticas y Proyecto Final de Grado Algoritmos de aprendizaje automatizado para el meta compresor de datos Blosc Supervisor: Autor: Francesc Alted Abad Alberto Sabater Morales Tutor acad´emico: Amelia Simo´ Vidal Fecha de lectura: 8 de mayo de 2017 Curso acad´emico 2016/2017 Resumen Estedocumentorecopilalosdetallesyprocedimientosm´asimportantesdelProyectodeFinal de Grado realizado a partir de la Estancia en Pr´acticas en la empresa de Francesc Alted. El principalobjetivofueeldesarrollodealgoritmosdeaprendizajeautomatizadoparaelcompresor de datos Blosc. Actualmente,elcompresorBlosc disponedetantasopcionesaconfigurarparaelusuarioque resulta dif´ıcil conseguir la ´optima para cada caso de uso y adem´as requiere tener conocimientos sobre el mismo para utilizarlo de forma eficaz. Con el objetivo de reducir la complejidad de uso, durante la estancia en pr´acticas se desarrollaron algoritmos de clasificaci´on supervisada para que escogieran las opciones ´optimas por el usuario, segu´n el resultado que´este quisiera obtener. Adem´as de los procedimientos seguidos en el desarrollo de estos algoritmos, tambi´en se detallan los fundamentos te´oricos en los que se basan y se realiza una comparativa entre los mismos en cuanto a precisi´on y rendimiento. Las t´ecnicas de clasificaci´on supervisada que se han utilizado son: an´alisis discriminante, regresi´on multinomial, m´aquinas de vector soporte, vecinos m´as pr´oximos y bosques aleatorios. Palabras clave Compresi´on, Aprendizaje autom´atico, Clasificaci´on supervisada Keywords Compression, Machine learning, Supervised classification. 4 ´ Indice general 1. Introducci´on 9 1.1. Contexto y motivaci´on del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2. Estancia en pr´acticas 11 2.1. Introducci´on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2. Software utilizado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1. Blosc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2. Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3. Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.4. HDF5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.5. Jupyter Notebook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4. Metodolog´ıa y tareas realizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4.1. Generaci´on de datos de pruebas de compresi´on con Blosc . . . . . . . . . 16 2.4.2. An´alisis de los datos recogidos . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.3. Generaci´on de datos de entrenamiento . . . . . . . . . . . . . . . . . . . . 19 5 2.4.4. An´alisis de las t´ecnicas de aprendizaje automatizado . . . . . . . . . . . . 21 2.5. Planificaci´on temporal de las tareas . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.6. Grado de consecuci´on de los objetivos propuestos . . . . . . . . . . . . . . . . . . 24 2.7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3. Algoritmos clasificadores de aprendizaje automatizado 25 3.1. Motivaci´on y objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2. M´etricas de puntuaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3. An´alisis discriminante lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3.1. Clasificaci´on entre dos poblaciones . . . . . . . . . . . . . . . . . . . . . . 28 3.3.2. Generalizaci´on para varias poblaciones . . . . . . . . . . . . . . . . . . . . 31 3.4. Regresi´on multinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4.1. Regresi´on log´ıstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4.2. Generalizaci´on para G poblaciones: regresi´on multinomial . . . . . . . . . 36 3.5. A´rboles de decisi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.5.1. Algoritmo CART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.5.2. Bosques aleatorios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.6. Vecinos m´as pr´oximos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.7. Ma´quinas de vector soporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4. An´alisis de los Resultados 45 4.1. An´alisis de los datos de pruebas de compresi´on . . . . . . . . . . . . . . . . . . . 45 4.2. Generaci´on de los datos de entrenamiento . . . . . . . . . . . . . . . . . . . . . . 48 6 4.3. An´alisis de los algoritmos de clasificaci´on . . . . . . . . . . . . . . . . . . . . . . 52 4.3.1. An´alisis individual: Bosques aleatorios . . . . . . . . . . . . . . . . . . . . 52 4.3.2. Comparativa de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5. Conclusiones 65 A. Generador de datos de las pruebas de compresi´on 69 A.1. C´odigo test data generator.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 B. An´alisis descriptivo de las pruebas de compresi´on 77 B.1. C´odigo custom plots.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 B.2. Cuaderno blosc test analysis.ipynb . . . . . . . . . . . . . . . . . . . . . . . . . . 87 C. Generador de los datos de entrenamiento 109 C.1. Cuaderno training data generator.ipynb . . . . . . . . . . . . . . . . . . . . . . . 110 D. An´alisis de los algoritmos de clasificaci´on 115 D.1. Programas Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 D.2. Cuaderno lda logit analysis.ipynb . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 D.3. Cuaderno SVM analysis.ipynb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 D.4. Cuaderno KNeig analysis.ipynb . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 D.5. Cuaderno RFC analysis.ipynb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 D.6. Cuaderno classifiers comparison.ipynb . . . . . . . . . . . . . . . . . . . . . . . . 150 7 8 Cap´ıtulo 1 Introduccio´n 1.1. Contexto y motivaci´on del proyecto Este Proyecto de Final de Grado, junto a la Estancia en Pr´acticas forma parte del plan de formaci´on establecido por el Grado en Matem´atica Computacional. El objetivo consisti´o en profundizar en las t´ecnicas de aprendizaje automatizado o clasificaci´on supervisada y su aplicacio´n a la mejora de un compresor de datos denominado Blosc. A lo largo de los an˜os se ha empleado la compresi´on para superar limitaciones f´ısicas de la inform´atica. Desde conseguir transmitir informaci´on m´as r´apido cuando las conexiones a Internet no alcanzaban ni para descargar las noticias de la localidad, hasta acelerar el proceso de entrenamiento de un algoritmo de aprendizaje autom´atico [9]. Para casos como estos resulta fundamental el uso de librer´ıas de compresi´on ultra r´apidas como Blosc, que permiten acelerar procesos de entrada/salida que a d´ıa de hoy soportan enormes cantidades de tr´afico, gracias a la enorme cantidad de datos que se generan, tanto por redes sociales, como por dispositivos inteligentes conectados a Internet. Este proyecto nace motivado por la necesidad de simplificar el uso del meta compresor de datos Blosc, una librer´ıa desarrollada por Francesc Alted que permite compresi´on y descom- presi´on muy r´apida de datos sin p´erdida de informacio´n. A la hora de utilizar Blosc el usuario debe estar familiarizado con el mismo y las opciones que ofrece, con el objetivo de superar esta barrera, se aplicar´an diversas t´ecnicas de aprendizaje automatizado para desarrollar un algo- ritmo que decida por el usuario las opciones de Blosc segu´n los resultados que quiere obtener. Estos algoritmos b´asicamente consisten en t´ecnicas de clasificaci´on supervisada donde a partir de unas variables descriptivas o caracter´ısticas x = (x ,...,x ) se infiere la variable respuesta i i1 ip o valor objetivo y . En este proyecto las caracter´ısticas son los resultados de la compresi´on que i 9 desea el usuario y las caracter´ısticas de los datos; y las variables objetivo son las opciones de Blosc. EnelCap´ıtulo2,sedetallantodoslosprocedimientosseguidosdurantelaestanciaenpr´acti- cas,desdelageneraci´ondelosdatosdepruebasdecompresi´on,hastalosan´alisisycomparativas de algoritmos de aprendizaje automatizado. En el Cap´ıtulo 3, se presentan los fundamentos te´oricos de las t´ecnicas utilizadas. El an´alisis de las t´ecnicas y los resultados se detallan en el Cap´ıtulo 4 y por u´ltimo en el Cap´ıtulo 5 se presentan las conclusiones. 10

Description:
Por medio de Git se realizaban actualizaciones del código del programa . Variable categórica que indica el tipo de estructura de la que pro- . Interpretación de resultados: tras obtener los datos de la validación cruzada se com-.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.