Aprendizaje Automático sobre Grandes Volúmenes de Datos

Clase de posgrado, Universidad Nacional de Córdoba, Argentina (Facultad de Matemática, Astronomía y Física). Del 11 de Agosto al 28 de Noviembre 2014.

(Para alumnos presenciales, horario Lunes y Miércoles de 18 a 20 hs, Aula 15 Aula 17 Aula 27 Laboratorio, FaMAF-UNC.)

Este es el sitio Web de la clase de posgrado. Todo el material en este sitio está disponible bajo licencia CC-BY-SA (salvo el código fuente, disponible bajo licencias segun se indican).

Mantengase al tanto de esta materia suscribiendose a la lista de correo electrónico aprendizajengrande@librelist.com (archivo). Puede también seguir los anuncios de la materia en Twitter.

El audio y filminas de las clases está disponible desde el cronograma. También está disponible material anexo y una playlist en YouTube.

Práctico 1: PDF

Práctico 2: PDF

Fundamentación

El aprendizaje automático permite un nuevo paradigma de programación en el cual algoritmos genéricos son adaptados para problemas dados mediante el uso de datos específicos. Cuando los datos a procesar exceden la capacidad de cómputo de una computadora, se hacen necesarias técnicas especiales adaptadas del cálculo distribuido. En esta materia se estudiaran dichas técnicas primero a nivel teórico y después mediante casos de estudio prácticos. Es de especial interés para aquellos estudiantes y profesionales del ramo interesados en la aplicaciones tecnológicas y en la investigación interdisciplinaria.

Objetivo de la materia

Al finalizar la materia los estudiantes estarán en condiciones de:

Alumnos remotos

Para alumnos remotos, están disponibles:

Los alumnos oyentes y remotos es sin cargo y no necesitan inscribirse.

Los alumnos remotos podrán seguir la clase de manera no-oficial (aprobar la materia de manera remota no es equivalente a aprobar la materia en la universidad). Si aprueban los ejercicios en línea, recibirán un certificado firmado digitalmente por el docente aceberando que el alumno remoto ha asistido a la materia. Si aprueban el proyecto final, el certificado indicará que el alumno la ha aprobado. NOTA: el docente sólo evaluará proyectos disponibles bajo una licencia de código abierto aprobada por OSI.

Material de difusión

Anuncio en formato de texto para enviar a listas de difusión: invitacion.txt

Poster, en formato PDF: poster.pdf

Prerequisitos

Para poder seguir esta materia hace falta:

Si el alumno no cuenta con esta formación, igual puede seguir la clase de manera remota pero sus chances de aprobar los prácticos son más bien bajas.

Acerca del docente

El Doctor Pablo Duboue es un especialista independiente en tecnologías del lenguaje. Su trabajo se enfoca en tecnologías del lenguaje aplicadas y generación de lenguaje natural. Recibió una licenciatura en Computación de la Universidad Nacional de Córdoba en 1998 y un M.Sc., M.Phil y Ph.D. en Computer Science de la Universidad de Columbia en la ciudad de Nueva York en 2001, 2003 y 2005.

Un académico entre los hackers y un hacker entre los académicos, Pablo se redimió de su doctorado ayudando a construir el sistema IBM Watson en los años posteriores. Cree que el progreso en ciencia y tecnología tal como se realiza por empresas y universidades es demasiado lento y conservador y busca un modelo alternativo basado en ideas del Software Libre.

Con más de 30 artículos publicados y más de 700 citas bibliográficas, ha presentado ponencias en numerosas conferencias académicas y encuentros multi-disciplinarios (incluyendo ponencias en la Conferencia de Desarrolladores Debian en 2010 y 2012 y en el hackercamp Observe, Hack, Make en Holanda en el 2013).

Actualmente divide su tiempo entre enseñanza, investigación y contribuir a proyectos de Sofware Libre. Ha dictado clases en la Universidad de Córdoba, la Universidad de Columbia y la Universidad Siglo 21.

Programa

Véase el cronograma para el material específico de cada clase.

NOTA: el programa final está sujeto a revisión.

Parte I: Conceptos de Aprendizaje Automático

Generalidades de Aprendizaje Automático. Clasificación, Sistemas de Recomendación y Aprendizaje Sin Supervisación. Ciclo del Aprendizaje Automático. Características (features) para el Aprendizaje. Modelos. Sesgo (bias) de Modelos. Modelos Generativos vs. Discriminantes.

Algoritmos específicos de Clasificación. Naive Bayes. Técnicas de Smoothing. Árboles de decisión. Random Forests. Regresión logística. Ingeniería de Features. Máquinas a base de Vectores de Soporte (Support Vector Machines).

Aprendizaje Sin Supervisación. Clustering. kMeans. Clustering basado en modelado estadístico.

Parte II: Conceptos de Cómputo Distribuido

Metodología MapReduce. Función Map. Función Reduce. Claves intermedias.

Conceptos de Análisis Numérico. Multiplicación distribuída de Matrices. Inversión distribuida de matrices.

Búsqueda distribuida. Óptimo local vs. global. Algoritmos actualizables. Procesamiento por lotes.

Modelos alternativos: Colas de Mensajes y Memoria Compartida.

Parte III: Implantación y Casos de Estudio

Plataforma Hadoop como implantación del paradigma MapReduce. Orquestado de clusters de cómputo. OpenStack. Salt.

Paquete Mahout. Recomendación automática. Clustering. Clasificación. Preparación de datos. Monitoreo, distribución de nodos.

Plataforma ActiveMQ como implementación de colas de mensajes. Paradigmas híbridos. Storm. Sparck. Mlib.

Casos de estudio. Recomendación de Películas. Identificación de Páginas co-editadas en Wikipedia. Clasificación de Programas Compilados.


Copyright 2014 Pablo Duboue, disponible bajo licencia CC-BY-SA.
Last modified: Sun Feb 8 04:34:27 EST 2015