| Profesor | Julio Waissman (julio.waissman@unison.mx) |
| Horarios | Lunes de 18:00 a 20:00 hrs |
| Sábados de 12:00 a 14:00 | |
| Jueves y viernes, 3 horas autónomas | |
| Lugar | Laboratorio de Ciencia de Datos |
Para iniciar
Objetivos del curso
El objetivo general de este curso es desarrollar en el estudiante las competencias necesarias para entender como aplicar métodos cruciales de aprendizaje automático para resolver problemas, ejecutar evaluaciones e interpretar sus resultados.
Los objetivos de este curso son:
-
Conocer y saber aplicar diferentes algoritmos de aprendizaje no supervisado.
-
Conocer y entender la teoría básica que sustenta el aprendizaje supervisado.
-
Conocer y saber cómo y en qué condiciones aplicar algoritmos de aprendizaje supervisado.
-
Entender y seleccionar los criterios y las técnicas para la medición de la calidad de un algoritmo de aprendizaje supervisado.
-
Conocer y saber aplicar los métodos de MLOps en el desarrollo de un modelo de aprendizaje para un problema real.
Las competencias que queremos ayudar a desarrollar en los estudiantes a lo largo del semestre son las siguientes:
-
Entender y saber utilizar métodos de aprendizaje no supervisado para un proceso de minería de datos.
-
Utilizar las herramientas más populares en python para el desarrollo de modelos de aprendizaje supervisado en Ciencia de Datos.
-
Saber decidir cual modelo de aprendizaje supervisado es el más adaptado para diferentes problemas y medir la calidad de éste.
-
Desarrollar un modelo de aprendizaje para un problema real, haciendo uso de herramientas de MLOps que aseguren la reproducibilidad de los resultados.
Temario
-
Introducción (1/2 semana)
- Aprendizaje no supervisado (1 1/2 semanas)
- Reagrupamiento aglomerativo
- Reagrupamiento jerárquico
- Reducción de la dimensionalidad
- Introducción (3 semanas)
- ¿Que es el aprendizaje automático?
- ¿El aprendizaje supervisado es posible?
- Un ejemplo: regresión lineal y logística
- El dilema de sesgo versus varianza
- Regularización
- Validación
- Medición de error
- Curvas de aprendizaje
- MLOps y DataOps ¿Para qué utilizarlas?
- Experimentos, métricas y funciones de costo
- Modelos lineales de aprendizaje supervisado (2 semanas)
- Modelos lineales generalizados
- Máquinas de vectores de soporte
- Modelos no lineales de aprendizaje supervisado (2 semana)
- Modelos por árboles de decisión
- Modelos de ensamble
- Redes neuronales (3 semanas)
- Conceptos teóricos sobre ejemplos sencillos
- El perceptrón multicapa (MLP)
- Redes Convolucionales (CNN)
- Transfer learning y modelos preentrenados
- Aprendizaje autosupervisado
- Operaciones de aprendizaje máquina (MLOps) (2 semanas)
- Despliegue y administración de modelos
- Supervisión de modelos de aprendizaje.
- Series de tiempo (1 semana)
- Métodos clásicos
- Redes neuronales recurrentes
Lecturas y enlaces recomendados
-
El sitio del curso Learning for Data de Yaser S.Abu-Mostafa de CalTech, es probablemente el mejor curso (no edulcorado) que conozco sobre aprendizaje supervisado. Le da un énfasis especial a entender los principios básicos antes de pasar a las técnicas particulares. El sitio incluye
-
Lecturas en youtube
-
Las presentaciones en pdf
-
Una liga al libro homónimo del curso
-
Tareas y proyecto
-
-
El curso de Machine Learning en Coursera de Andrew Ng es posiblemente el curso en linea más popular en Aprendizaje Automático. El profesor es magistral y explica los métodos sin requerir conocimientos en matemáticas, lo que hace que el curso sea a un nivel bastante superficial, pero muy recomendable.
-
The Elements of Statistical Learning el cual se encuentra en la biblioteca de la DCEN y la biblioteca digital. Una buena introducción (no sencilla) a la teoría del aprendizaje y las SVM.
-
Hands-On machine learning with scikit-learn and tensorflow : concepts, tools, and techniques to build intelligent systems es un texto muy aplicado, con mucho código y poca teoría. Es mi recomendación para buscar como hacer prácticamente cosas y no te gusta buscarlas en internet. Aquí dejo una liga con libretas jupyter con los ejemplos del libro
-
Los Tópicos de ML en Medium es un buen lugar para buscar artículos de divulgación y/o tutoriales bastante claros sobre diferentes técnicas de ML. Me parece que sin subscripción, tiene uno limitado el número de artículos a leer por día en Medium.
-
La biblioteca de la FICEN tiene una colección de libros muy buenos y muy actualizada en Aprendizaje Automático. Es una parada indispensable.
Repositorios de datos con problemas de aprendizaje automático
-
Kaggle es la puerta de entrada a básicamente la mayor parte de las habilidades en ML que se requieren para Ciencia de Datos. El sitio incluye:
-
Datos reales y sintéticos para practicar y aprender
-
Datos reales en competencias de aprendizaje automático (con premios en efectivo algunas veces)
-
Un sistema de libretas de jupyter en linea
-
Cursos sobre diferentes temas interesantes
-
Ejemplos de libretas útiles
-
-
UCI database repository Es el sitio más clásico (venerable y feo, por cierto) de conjuntos de datos para tareas de Aprendizaje Automñatico. Es un poco complicada la navegación y entender la organización de los datos, pero es realmente un muy buen sitio para escoger problemas a resolver.