Diagrama semanal

  • Datos generales del curso

    logo


    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

    1. Introducción
    2. Aprendizaje supervisado
    3. Aprendizaje no supervisado
    4. Representación y modelado
    5. Estado del arte: Random Forests y Deep Learning 
    6. Selección y evaluación
    7. 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]

  • 1.Introducción

    intro

    • Presentación del curso
    • ¿Qué es el aprendizaje automático?
    • El entorno Python
    • Primer ejemplo


  • 2.Aprendizaje supervisado

    sup

    • Definición y tipos
    • Subajuste (underfitting) y sobre ajuste
    • Regresión
    • Regularización
    • Clasificación
    • Interpretación de modelos


  • 3.Aprendizaje no supervisado

    unsup

    • Definición del problema
    • Análisis de factores
    • Análisis de componentes
    • Agrupación (clustering)


  • 4.Representación y modelado

    rep

    • Representación y modelado 
    • Ingeniería de características
    • Tipos de características
    • Creación de características
    • Selección de características

  • 5.Redes Neuronales y Aprendizaje profundo


    • 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

  • 6.Selección y evaluación

    modelos

    • Selección de modelos
    • Selección basada en datos
    • Medidas de desempeño
    • Validación revisitada
    • Selección basada en parsimonia


  • 7. Casos de estudio

    • jojoEjemplo real de problema de clasificación
    • Ejemplo real de problema de regresión
    • Ejemplo real de problema no supervisado