Fundamentos de aprendizaje automático
Diagrama semanal
-
Fundamentos de Aprendizaje Automático y Reconocimiento de Patrones
¡Bienvenidos al curso!
Descripción
Este es un curso introductorio al aprendizaje automático, que busca un equilibrio entre la aplicación práctica y sus fundamentos teóricos. Se presenta la teoría que establece un marco conceptual para el aprendizaje automático, y que permite formalizar ciertos aspectos, tales como: en qué consiste aprender, cotas del aprendizaje, relaciones de compromiso y métodos de evaluación. Además, el curso intenta proporcionar los conocimientos necesarios para comprender e implementar algoritmos de aprendizaje automático.
Metodología
El curso está organizado en dos instancias presenciales semanales de dos horas, alternando sesiones de discusión de los temas teóricos y clases prácticas.
La presentación expositiva de los temas teóricos será mediante los videos correspondientes a la edición 2021 del curso, disponibles en OpenFing. En las instancias de discusión no se presentará material nuevo si no que se habilitarán espacios activos para la reflexión e intercambio sobre los temas ya vistos por el estudiante. Los temas que corresponden a cada clase están definidos en el cronograma. Las secciones del libro o videos que cubren cada clase están en el temario. Adicionalmente, en cada semana de la página del curso se indica cuáles son los temas que corresponden a dicha semana.
Los prácticos y los controles de lectura se realizarán en forma presencial. En las clases prácticas los estudiantes desarrollarán habilidades relativas a la programación y aplicarán técnicas de aprendizaje automático sobre datos reales.Evaluación
El proceso de evaluación incluye la realización individual de 6 controles de lectura y de dos parciales. Ver descripción detallada aquí. Los controles de lectura se harán en horario de clase y serán presenciales. Las fechas de los controles de lectura están indicadas en el cronograma.
Créditos
8 créditos
Programa del curso
Ver programa aquí.
Temario y cronograma
Ver temario y cronograma aquí.
Docentes
Emiliano Acevedo, Diego Belzarena, Guillermo Carbajal, Martín Rocamora
Recursos
- El curso está basado en el libro: Learning from data: a short course [link] de Yaser S. Abu-Mostafa, Malik Magdon-Ismail y Hsuan-Tien Lin. Es muy importante leer el libro para seguir el curso. Hay varias copias del libro en biblioteca de la facultad.
- Las clases teóricas cuentan con diapositivas que estarán disponibles.
- Hay una lista de ejercicios para cada una de las clases prácticas, que estará disponible en la forma de un Notebook de Jupyter.
-
Horarios y salones
Fecha de inicio: lunes 31/07/2023 (presencial, salón 401)
Teórico
Lunes 8:00 a 10:00 hs. - Salón 401 - A partir de la segunda semana serán sesiones de discusión presenciales de temas teóricos. La primera clase se expondrá de forma presencial.Prácticos y Controles de Lectura
Miércoles de 8:00 a 10:00 hs. - Salón 401
Consultas
Lunes 17 hrs (por zoom)
- ID de reunión: 848 6643 2651
- Código de acceso: FuAA2023!!
- ID de reunión: 848 6643 2651
-
Resultados del primer parcial 2023 Archivo
-
Encuesta DOCENTE semestre 2 de 2023 ARIEL STASSI
-
Clases:
- Clase 1: Teórico - Introducción al problema de aprendizaje
- Contenidos: Introducción al curso. Componentes del problema de aprendizaje. El algoritmo de aprendizaje del perceptrón. Datos linealmente separables. Tipos de aprendizaje. Otras perspectivas sobre el aprendizaje automático. Consideraciones éticas.
- Secciones del libro: 1.1, 1.2
- Video: 1
- Clase 2: Consulta/Taller
- Contenidos: Dudas sobre Python, Numpy, Práctico 0, Instalación del ambiente de trabajo
- Video: 3
- Contenidos: Dudas sobre Python, Numpy, Práctico 0, Instalación del ambiente de trabajo
Actividades de la semana:
- Leer las secciones del libro y ver el video correspondiente a los siguientes temas:
- Tema 2 - El problema del aprendizaje
- Contenidos: Factibilidad del aprendizaje. Comportamiento frente a nuevos datos. Modelo PAC (Probably Approximately Correct). Cota dada por la desigualdad de Hoeffding.
- Secciones del Libro: 1.3
- Video: 2
- Contenidos: Factibilidad del aprendizaje. Comportamiento frente a nuevos datos. Modelo PAC (Probably Approximately Correct). Cota dada por la desigualdad de Hoeffding.
- Tema 2 - El problema del aprendizaje
- Hacer encuesta de inicio de curso
- Instalar el ambiente de trabajo para el práctico
- Estudiar los tutoriales de python (numpy, jupyter notebook)
- Consultar la guía de referencia de latex
- Preparar el control de lectura 0
- Clase 1: Teórico - Introducción al problema de aprendizaje
-
Clases:
- Clase 3: Discusión
- Discusión del Tema 2- El problema del aprendizaje.
- Discusión del Tema 2- El problema del aprendizaje.
- Clase 4: Control 0 - Práctico 1
- Contenidos de práctico: Algoritmo de aprendizaje del perceptrón. La desigualdad de Hoeffding.
Actividades de la semana:
- Leer las secciones del libro y ver el video correspondiente a los siguientes temas:
- Tema 3 - El modelo lineal
- Contenidos: Clasificación lineal. Extracción de características. Datos no linealmente separables. Regresión lineal. Extendiendo el modelo lineal mediante transformaciones no lineales.
- Secciones del libro: 3.1, 3.2, 3.4
- Video: 4
- Tema 4 - Error y ruido
- Contenidos: Incorporar al marco conceptual del problema de aprendizaje las nociones de error y de ruido. Medidas de error, funciones de costo. Aprendizaje frente a datos ruidosos. Motivación de la teoría del aprendizaje.
- Secciones del libro: 1.4, 1.3.3
- Video: 5
- Tema 3 - El modelo lineal
- Hacer el Práctico 1
- Hacer el Control de lectura 0 (no cuenta para la aprobación) - miércoles 9 de agosto
- Preparar el Control de lectura 1 ( cuenta para la aprobación)
-
Control de lectura 0 Cuestionario
- Clase 3: Discusión
-
Clases:
- Clase 5: Discusión
- Discusión de los tema 3 (El modelo lineal) y 4 (Error y ruido)
- Discusión de los tema 3 (El modelo lineal) y 4 (Error y ruido)
- Clase 6: Control 1 - Práctico 2
- Contenidos del práctico: Clasificación lineal. Datos no separables, algoritmo pocket. Regresión lineal. Error y ruido. Entrenamiento versus prueba.
- Contenidos del práctico: Clasificación lineal. Datos no separables, algoritmo pocket. Regresión lineal. Error y ruido. Entrenamiento versus prueba.
Actividades de la semana:
Leer las secciones dle libro y ver los videos correspondientes a los siguientes temas:
- Tema 5 - Entrenamiento versus prueba
- Contenidos: Implicaciones conceptuales y prácticas del contraste entre entrenamiento y prueba. Número efectivo de hipótesis. El concepto de punto de ruptura.
- Secciones del libro: 2.1, 2.1.1
- Video: 6
- Tema 6 - Teoría de la generalización
- Contenidos: Cota polinómica de la función de crecimiento. Desigualdad de Vapnik-Chervonenkis (VC).
- Secciones del libro: 2.1
- Video: 8
- Hacer el Control de lectura 1 (se cuenta para la aprobación) - miércoles 16 de agosto
- Hacer el práctico 1
-
Control de lectura 1 Cuestionario
- Clase 5: Discusión
-
Clases:
- Clase 7: Discusión
- Discusión de los temas 5 (Entrenamiento versus prueba) y 6 (Teoría de la generalización).
- Discusión de los temas 5 (Entrenamiento versus prueba) y 6 (Teoría de la generalización).
- Clase 8: Continuación Práctico 2
- Contenidos: Clasificación lineal. Datos no separables, algoritmo pocket. Regresión lineal. Error y ruido. Entrenamiento versus prueba.
Actividades de la semana:Leer las secciones del libro y ver los videos correspondientes a los siguientes temas:
- Tema 7: La dimensión VC
- Contenidos: La dimensión de Vapnik-Chervonenkis (VC). Interpretación de la dimensión VC. Cota de generalización de VC.
- Secciones del libro: 2.2
- Video: 9
- Tema 8 - Compromiso sesgo-varianza
- Contenidos: Compromiso aproximación y generalización. Generalización vista desde el compromiso Sesgo-Varianza. Curvas de aprendizaje.
- Secciones del libro: 2.3
- Video: 10
- Hacer el Práctico 2
- Preparar el Control de lectura 2
- Clase 7: Discusión
-
Clases:
- Clase 9: Discusión
- Discusión de los temas 7 (La dimensión VC) y 8 (Compromiso sesgo-varianza).
- Clase 10: Control 2 y Práctico 3
- Contenidos: Teoría de la generalización. Regresión logística. Gradiente descendente. Gradiente descendente estocástico.
Actividades de la semana:
- Leer las secciones del libro y ver los videos correspondientes a los siguientes temas:
- Tema 9 - El modelo lineal II
- Contenidos: Regresión logística. Introducción a la optimización convexa. Gradiente descendente.
- Secciones del libro: 3.3
- Video: 11
- Tema 10 - Sobreajuste
- Contenidos: Cuando ocurre el sobreajuste. Sobreajuste con polinomios. Ruido determinístico y ruido estocástico.
- Secciones del libro: 4.1
- Video: 13
- Tema 11 - Regularización
- Contenidos: Regularización de orden suave. Decaimiento de pesos. Elección del regularizador. Vínculo con dimensión VC.
- Secciones del libro: 4.2
- Video: 14
- Hacer el Control de lectura 2 - miércoles 30 de agosto
- Comenzar el Práctico 3
-
Control de lectura 2 Cuestionario
- Clase 9: Discusión
-
Clases:
- Clase 11: Discusión
- Discusión de los temas 9 (El modelo lineal II), 10 (Sobreajuste) y 11 (Regularización)
- Discusión de los temas 9 (El modelo lineal II), 10 (Sobreajuste) y 11 (Regularización)
- Clase 12: Prácticos 3 y 4
- Contenidos: Teoría de la generalización. Regresión logística. Gradiente descendente. Gradiente descendente estocástico.
- Contenidos: Teoría de la generalización. Regresión logística. Gradiente descendente. Gradiente descendente estocástico.
Actividades de la semana:- Leer la sección del libro correspondiente a los siguientes temas:
- Tema 12 - Validación
- Contenidos: Conjunto de validación. Selección de modelos. Validación Cruzada. Teoría versus práctica en el sobreajuste.
- Secciones del libro: 4.3
- Video: 16
- Tema 12 - Validación
- Continuar el Práctico 3
- Preparar el control 3
- Clase 11: Discusión
-
Clases:
- Clase 13: Discusión
- Contenidos: Discusión del tema 12 (Validación)
- Contenidos: Discusión del tema 12 (Validación)
- Clase 14: Control 3 y Práctico 4
- Contenidos de práctico: Sobreajuste, regularización y validación, usando regresión lineal y regresión logística.
Actividades de la semana:
- Hacer el Control de Lectura 3
- Hacer el Práctico 4
-
Control de lectura 3 Cuestionario
-
1er parcial 2021 Archivo
- Clase 13: Discusión
-
Semana de parciales
-
Semana de parciales
-
Clases:
- Clase 15: Intro a scikit-learn y discusión sobre temas éticos en el aprendizaje automático
Actividades de la semana:- Leer la sección del libro y ver los videos correspondientes a los siguientes temas:
- Tema 13: Epílogo de los fundamentos teóricos
- Contenidos: Principios del aprendizaje vinculados con la elección de modelos y el manejo de datos: navaja de Occam, sesgo del muestreo y husmear los datos (data snooping).
- Secciones del libro: 5.1, 5.2, 5.3
- Video: 17
- Tema 14: Perceptrón multicapa
- Contenidos: Motivación: combinación de perceptrones. El perceptrón multicapa. Propagación hacia adelante. Función de activación diferenciable. El algoritmo de propagación hacia atrás. Gradiente descendente estocástico.
- Secciones del libro: 7.1, 7.2
- Video: 18
- Tema 15: Redes neuronales
- Contenidos: Aproximación universal. Aproximación versus generalización. Regularización y validación. Mejorando el gradiente descendente. Redes con muchas capas: aprendizaje profundo.
- Secciones del libro: 7.3, 7.4, 7.5, 7.6
- Video: 19
- Clase 15: Intro a scikit-learn y discusión sobre temas éticos en el aprendizaje automático
-
Clases:
- Clase 16: Discusión
- Contenidos: Discusión de los temas 17 (Epílogo de los fundamentos teóricos), 18 (Perceptrón multicapa), 19 (Redes neuronales)
- Contenidos: Discusión de los temas 17 (Epílogo de los fundamentos teóricos), 18 (Perceptrón multicapa), 19 (Redes neuronales)
- Clase 17: Práctico 5
- Contenidos:
Redes neuronales. Perceptrón multicapa. Propagación hacia atrás.
Gradiente descendente, gradiente estocástico. Regularización y
validación.
- Contenidos:
Redes neuronales. Perceptrón multicapa. Propagación hacia atrás.
Gradiente descendente, gradiente estocástico. Regularización y
validación.
Actividades de la semana:- Preparar el Control de lectura 4
-
Práctico 5 Página
- Clase 16: Discusión
-
Clases:
- Clase 18: Práctico 5
- Contenidos: Redes neuronales. Perceptrón multicapa. Propagación hacia atrás. Gradiente descendente, gradiente estocástico. Regularización y validación.
- Contenidos: Redes neuronales. Perceptrón multicapa. Propagación hacia atrás. Gradiente descendente, gradiente estocástico. Regularización y validación.
- Leer la sección del libro y ver los videos correspondientes a los siguientes temas:
- Tema 16: Máquinas de vectores de soporte
- Contenidos:Hiperplano óptimo. Maximización del margen. Programación cuadrática. Vectores de soporte. Formulación del problema dual.
- Secciones del libro: 8.1, 8.2
- Video: 22
- Tema 17: Métodos de Kernel
- Contenidos: Transformaciones no lineales. El truco del kernel. SVM de margen suave.
- Secciones del libro: 8.3, 8.4
- Video: 23
- Tema 16: Máquinas de vectores de soporte
- Hacer el Práctico 5
- Hacer el control de lectura 4
-
Control de lectura 4 Cuestionario
- Clase 18: Práctico 5
-
Clases:
- Clase 19: Discusión
- Contenidos: Discusión de temas 16 (Máquinas de vectores de soporte) y 17 (Métodos de Kernel).
- Clase 20: Práctico 6
- Contenidos: Máquinas de vectores de soporte y métodos de kernel. Maximización del margen y margen suave.
Actividades de la semana:
- Leer la sección del libro y ver los videos correspondientes a los siguientes temas:
- Tema 18: Métodos basados en similitud
- Contenidos:
Medidas de similitud. Vecino(s) más cercano(s) (k-NN). El rol del
parámetro k. Selección de k. Eficiencia. Funciones de base radial (RBF).
Kernel Gaussiano. Redes RBF.
- Secciones del libro: 6.1, 6.2, 6.3
- Video: 25
- Contenidos:
Medidas de similitud. Vecino(s) más cercano(s) (k-NN). El rol del
parámetro k. Selección de k. Eficiencia. Funciones de base radial (RBF).
Kernel Gaussiano. Redes RBF.
- Tema 18: Métodos basados en similitud
- Hacer el Práctico 6
- Preparar el control de lectura 5
-
Diapositivas tema 18 Archivo
- Clase 19: Discusión
-
Clases:
- Clase 21: Discusión
- Contenido: Descusión del Tema 18 (Métodos basados en similitud)
- Contenido: Descusión del Tema 18 (Métodos basados en similitud)
Actividades de la semana:- Leer las secciones del libro y mirar el video correspondiente a los siguientes temas:
- Tema 19: Aprendizaje no supervisado
- Contenidos: Agrupamiento no supervisado con k-Means. Estimación de densidades de probabilidad. Ventanas de Parzen. Modelos de Mezclas de Gaussianas (GMM). Máxima verosimilitud (EM).
- Secciones del libro: 6.3, 6.4
- Video: 25
- Tema 20: Ingeniería de características
- Contenidos: Normalización, centrado y blanqueado. Reducción de la dimensionalidad. Análisis de componentes principales (PCA).
- Tema 19: Aprendizaje no supervisado
Actividades de la semana:- Hacer el Control de lectura 5
- Hacer el Práctico 6
-
Diapositivas Tema 19 Archivo
-
Diapositivas Tema 20 Archivo
-
Control de lectura 5 Cuestionario
- Clase 21: Discusión
-
Clases:
- Clase 22: Discusión
- Contenidos: Discusión de los temas 19 (Aprendizaje no supervisado ) y 20 (Ingeniería de Características).
- Contenidos: Discusión de los temas 19 (Aprendizaje no supervisado ) y 20 (Ingeniería de Características).
- Clase 23: Control de lectura 5 y Práctico 7
Actividades de la semana:
- Hacer el Práctico 7
- Hacer el control de lectura 6
-
Control de lectura 6 Cuestionario
- Clase 22: Discusión
-
Clases:
- Clase 29: Preparación para el parcial
- Contenidos: Clase de consulta
- Clase 30: Preparación para el parcial
- Contenidos: Clase de consulta
Actividades de la semana:
- Preparar el segundo parcial
-
Segundo parcial 2021 Archivo
-
Segundo parcial 2022 Archivo
-
Artículo que analiza los impactos ambientales, sesgos y diversos aspectos de los modelos de lenguaje (ej. ChatGPT).
-
En esta página se encuentra un diagrama ("mapa anatómico") que describe la creación, vida y muerte de un sistema basado en inteligencia artificial (Amazon Echo). En este mapa se resalta particularmente la labor humana, los datos y recursos planetarios utilizados en cada etapa del sistema. Este diagrama se encuentra acompañado por un ensayo de 21 partes donde se describe y expande sobre cada parte del diagrama.
-
Artículo que discute diversos aspectos éticos de los modelos generativos de aprendizaje automático (Midjourney, Stable Diffusion, DALL-E).
- Clase 29: Preparación para el parcial