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.

  • 31 de Julio - 6 de agosto

    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

    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
    • 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

  • 7 de agosto - 13 de agosto

    Clases:

    • Clase 3: Discusión
      • 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

    • 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)
  • 14 de agosto - 20 de agosto

    Clases:

    • Clase 5: Discusión 
      • 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.

    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

  • 21 de agosto - 27 de agosto

    Clases:

    • Clase 7: Discusió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
  • 28 de agosto - 3 de setiembre

    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
  • 4 de setiembre - 10 de setiembre

    Clases:   

    • Clase 11: Discusió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.   
         
    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

    • Continuar el Práctico 3
    • Preparar el control 3
  • 11 de setiembre - 18 de setiembre

    Clases:

    • Clase 13: Discusió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
    • Icono Cuestionario
      Control de lectura 3 Cuestionario
      No disponible hasta que: Eres un Estudiante
    • Icono Recurso
      1er parcial 2021 Archivo
      No disponible hasta que: Eres un Estudiante
  • 18 de Setiembre - 24 de Setiembre

    Semana de parciales
  • 25 de Setiembre - 1 de Octubre

    Semana de parciales

  • 2 de octubre - 8 de octubre

    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

  • 9 de octubre - 15 de octubre

    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)
    • 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.  

    Actividades de la semana:

    • Preparar el Control de lectura 4
    • Icono Página
      Práctico 5 Página
      No disponible hasta que: Eres un Estudiante
  • 16 de octubre - 22 de octubre

    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.    

    Actividades de la semana:
    • 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

    • Hacer el Práctico 5     
    • Hacer el control de lectura 4
  • 23 de octubre - 29 de octubre

    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    
    • Hacer el Práctico 6
    • Preparar el control de lectura 5 
  • 30 de octubre - 5 de Noviembre

    Clases:

    • Clase 21: Discusión 
      • 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).        
    Actividades de la semana:
    • Hacer el Control de lectura 5
    • Hacer el Práctico 6
  • 6 de noviembre - 12 de noviembre

    Clases:

    • Clase 22: Discusión
      • 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
  • 13 de noviembre - 20 de noviembre

    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