Aprendizaje Automático Básico para Científicos
Diagrama semanal
-
Introducción
El objetivo de este curso es introducir los conceptos, metodología, y teoría básicos para que científicos de cualquier perfil académico logren familiarizarse y aplicar métodos de Aprendizaje Automático en sus áreas de especialidad, y/o acceder a publicaciones en sus áreas que utilicen dichas herramientas. Más concretamente:
- Comprender las generalidades del Aprendizaje Automático, sus ventajas y falencias
- Familiarizarse con las distintas etapas de un sistema de Aprendizaje Automático
- Desarrollar scripts sencillos que logren hilvanar las distintas etapas de un sistema de AA
- Reconocer distintos tipos de problemas de AA
- Identificar problemas que pueden resolverse con AA dentro de su dominio
Alcance
Esto no es un curso de programación, ni pretende que los estudiantes tengan conocimientos de programación previos. Se introducirán los elementos más básicos de la programación de scripts, como una secuencia de comandos que manipulan datos.
Metodología de Enseñanza
El curso es de carácter teórico-práctico. El temario se divide en 7 módulos de 2 clases cada una: una teórica (2h), y un taller (3h): en las clases teóricas, el docente expone aspectos teóricos, y luego los aplica de inmediato a algún problema práctico. Los talleres se presentan como Notebooks de Python interactivos.
Los Notebooks, por su parte, intercalan varios tipos de contenidos:
- Reseña teórica del tema del ejercicio
- Código de demostración (demos), listo para su ejecución
- Preguntas teóricas relacionadas a resultados obtenidos en las demos
- Pequeñas tareas de programación, por ejemplo modificaciones a parámetros de los algoritmos. No se pretende que los estudiantes desarrollen algoritmos.
Se dará una clase teórico-práctica y un taller por semana. Los primeros 4 módulos del curso siguen de cerca los capítulos 1,2,3 y 4 del libro principal citado en la bibliografía más abajo. Otros tres módulos presentan de manera reorganizada material que en su mayoría también se encuentra en ese libro.
Aprobación y créditos
El curso consta de 7 módulos. Cada módulo insume 2 horas de clase teórico-práctica, más un taller de 3 horas, más otras 5 horas de trabajo del estudiante de manera no presencial. En total son 7*(2+3+5) = 70 horas, lo que equivale a 5 créditos.
La aprobación del curso se obtiene completando las preguntas y realizando los ejercicios que se presentan en cada taller en tiempo y forma.
Personal docente
- Ignacio Ramírez (responsable)
- Graciana Castro
- Marcelo Langleib
Calendario (2023)
- Primera clase el 19 de setiembre de 2023
- Introducción
- Aprendizaje supervisado
- Aprendizaje no supervisado
- Representación y modelado
- Estado del arte: Random Forests y Deep Learning
- Selección y evaluación
- Casos de estudio
Horario
- Martes y jueves de 13:00 a 16:00
Lugar
- Salón Udelar C, Facultad de Ingeniería, Julio Herrera y Reissig 565 (Parque Rodó)
- Virtual: https://salavirtual-udelar.zoom.us/j/84271556462
Bibliografía
- Andreas Müller & Sarah guido, "Introduction to Machine Learning with Python: A Guide for Data Scientists", 1st Edition, O'Reilly [LINK]
-
- Presentación del curso
- ¿Qué es el aprendizaje automático?
- El entorno Python
- Primer ejemplo
-
Por favor realice una copia para trabajar.
-
Pueden subir un link a un notebook de Uds., o bien un archivo Notebook (ipynb). Lo pueden bajar desde Colab.
-
- Definición y tipos
- Subajuste (underfitting) y sobre ajuste
- Regresión
- Regularización
- Clasificación
- Interpretación de modelos
-
Por favor realizar una copia para trabajar.
-
Pueden subir un link a un notebook de Uds., o bien un archivo Notebook (ipynb). Lo pueden bajar desde Colab.
-
- Definición del problema
- Análisis de factores
- Análisis de componentes
- Agrupación (clustering)
-
Por favor realizar una copia para trabajar.
-
Pueden subir un link a un notebook de Uds., o bien un archivo Notebook (ipynb). Lo pueden bajar desde Colab.
-
- Representación y modelado
- Ingeniería de características
- Tipos de características
- Creación de características
- Selección de características
-
Pueden subir un link a un notebook de Uds., o bien un archivo Notebook (ipynb). Lo pueden bajar desde Colab.
-
- Combinación de clasificadores
- Métodos de boosting
- Random Forests
- Redes Neuronales Artificiales
- Revolución de las redes profundas
- Algunos tipos de redes
- Ventajas y desventajas
-
Pueden subir un link a un notebook de Uds., o bien un archivo Notebook (ipynb). Lo pueden bajar desde Colab.
-
- Selección de modelos
- Selección basada en datos
- Medidas de desempeño
- Validación revisitada
- Selección basada en parsimonia
-
Pueden subir un link a un notebook de Uds., o bien un archivo Notebook (ipynb). Lo pueden bajar desde Colab.
-
- Ejemplo real de problema de clasificación
- Ejemplo real de problema de regresión
- Ejemplo real de problema no supervisado
-
Debe entregarse en formato PDF