Logo UAB
2022/2023

Fundamentos de Aprendizaje Automático

Código: 106572 Créditos ECTS: 6
Titulación Tipo Curso Semestre
2504392 Inteligencia Artificial / Artificial Intelligence OB 2 1

Contacto

Nombre:
Dimosthenis Karatzas
Correo electrónico:
dimosthenis.karatzas@uab.cat

Uso de idiomas

Lengua vehicular mayoritaria:
inglés (eng)
Algún grupo íntegramente en inglés:
Algún grupo íntegramente en catalán:
No
Algún grupo íntegramente en español:
No

Equipo docente externo a la UAB

Oguz Mulayim

Prerequisitos

Haber cursado las asignaturas de primer curso de Fundamentos de Programación, Fundamentos de Matemáticas, Probabilidad y Estadística, e Ingeniería de Datos.

Objetivos y contextualización

El objetivo de esta asignatura es proporcionar una formación integral en un amplio abanico de técnicas y algoritmos fundamentales de aprendizaje automático que un ingeniero especialista en inteligencia artificial debe dominar.

Los estudiantes aprenderán, implementarán y utilizarán una variedad de técnicas que abarcan tanto el aprendizaje supervisado como el no supervisado. Obtendrán sus propias implementaciones, así como explorarán librerías existentes y aplicarán este nuevo conocimiento para resolver problemas prácticos.

Competencias

  • Desarrollar pensamiento crítico para analizar de forma fundamentada y argumentada alternativas y propuestas tanto propias como ajenas.
  • Identificar, comprender y aplicar los conceptos y técnicas fundamentales de representación del conocimiento, razonamiento y aprendizaje computacional para la solución de problemas de inteligencia artificial.
  • Identificar, comprender y aplicar los conceptos y técnicas fundamentales de representación del conocimiento, razonamiento y aprendizaje computacional para la solución de problemas de inteligencia artificial. 
  • Introducir cambios en los métodos y los procesos del ámbito de conocimiento para dar respuestas innovadoras a las necesidades y demandas de la sociedad.
  • Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
  • Trabajar cooperativamente para la consecución de objetivos comunes, asumiendo la propia responsabilidad y respetando el rol de los diferentes miembros del equipo.

Resultados de aprendizaje

  1. Comprender el algoritmo de descenso de gradiente y sus variantes, y poder aplicarlo para resolver problemas de regresión y clasificación.
  2. Desarrollar pensamiento crítico para analizar de forma fundamentada y argumentada alternativas y propuestas tanto propias como ajenas.
  3. Entender los conceptos de bias y variance, y poder emplear métodos de preparación de datos y técnicas de regularización para obtener soluciones generalizables a partir de los datos disponibles.
  4. Formular la función de coste más adecuada para un problema concreto según las características de los datos experimentales y requerimientos / restricciones del problema. 
  5. Proponer nuevos métodos o soluciones alternativas fundamentadas.
  6. Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
  7. Trabajar cooperativamente para la consecución de objetivos comunes, asumiendo la propia responsabilidad y respetando el rol de los diferentes miembros del equipo.

Contenido

  • Fundamentos de aprendizaje automático
    • Aprendizaje supervisado y no supervisado
    • Regresión y clasificación
    • Descenso del gradiente
    • Regresión lineal y polinomial
    • Regresión logística
    • Over/under-fitting y decomposicion de bias y variance
    • Regularización
  • Métodos básicos de reconocimiento de patrones
    • Modelos de Nearest Neighbour y razonamiento basado en casos
    • Agrupación de datos
    • Kernel Methods y Support Vector Machines
    • Arboles de decisión y random forests
    • Experimentación y evaluación del rendimiento
  • Metodos probabilísticos
    • Bayesian parameter estimation
    • Gaussian Mixture Models
    • Probability density estimation
    • Expectation Maximisation

Metodología

Habrá tres tipos de actividades docentes: clases teóricas, resolución de ejercicios prácticos de forma individual (problemas) y desarrollo de proyectos en pequeños grupos de 2-3 alumnos.

1. Clases de teoría: Presentación de los contenidos teóricos a trabajar en la asignatura. Para cada uno de los temas estudiados se exponen los principales conceptos teóricos y formulación matemática, así como las correspondientes soluciones algorítmicas.

2. Sesiones de laboratorio: Las sesiones de laboratorio tienen como objetivo facilitar la interacción y reforzar la comprensión de los temas vistos en las clases de teoría. Durante las sesiones de laboratorio abordaremos dos tipos de actividades: la resolución de ejercicios prácticos (problemas) y la realización de seguimiento y presentaciones de proyectos.

2.1 Problemas: Se utilizará un conjunto semanal de problemas a trabajar, a partir de código en Python sobre Jupyter notebooks que ejemplifica los detalles de codificación de los conceptos expuestos en las horas de teoría. El trabajo sobre los problemas se iniciará en clase y cada estudiante debe completarlo individualmente en casa. Se requerirá que los estudiantes realicen un envío semanal de su trabajo.

2.2 Proyectos: Se realizarán dos proyectos durante el semestre, donde los alumnos tendrán que resolver problemas concretos de cierta complejidad. Los proyectos se resolverán en pequeños grupos de 2-3 alumnos, donde cada miembro del grupo deberá hacer una parte y ponerla en común con el resto para tener la solución final. Estos grupos de trabajo se deberán mantener hasta el final del curso y deberán autogestionar: reparto de roles, planificación del trabajo, asignación detareas, gestión de los recursos disponibles, conflictos, etc. Para desarrollar el proyecto, los grupos trabajarán de forma autónoma y las sesiones de prácticas se dedicarán para (1) que el profesor presente la temática de los proyectos y discute posibles enfoques, (2) hacer el seguimiento del estado del proyecto y (3) que los equipos presenten sus resultados finales.

Las actividades anteriores se complementarán con un sistema de tutorías y consultas fuera del horario de clases.

Toda la información de la asignatura y los documentos relacionados que necesiten los alumnos estarán disponibles en el campus virtual (cv.uab.cat).

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Clases de teoría 24 0,96 1, 3, 4
Sesiones de problemas 12 0,48 1, 2, 3, 4
Sesiones de proyectos 9 0,36 1, 2, 3, 4, 5, 6, 7
Tipo: Supervisadas      
Resolución de problemas (individual) 10 0,4 1, 2, 3, 4
Trabajo en proyectos (grupos) 30 1,2 1, 2, 3, 4, 5, 6, 7
Tutorías 2 0,08 1, 2, 3, 4, 5, 6
Tipo: Autónomas      
Estudio individual 20 0,8 1, 2, 3, 4
Resolución de problemas (individual) 10 0,4 1, 2, 3, 4
Trabajo en proyectos (grupos) 20 0,8 1, 2, 3, 4, 5, 6, 7

Evaluación

Para evaluar el nivel de aprendizaje del estudiante se establece una fórmula que combina el aprendizaje de conocimientos, la capacidad de resolución de problemas y las capacidades de trabajar en equipo, así como de la presentación de los resultados obtenidos.

Nota Final

La nota final se calcula ponderadamente de la siguiente manera y de acuerdo con las diferentes actividades que se llevan a cabo:

Nota final = 0.4 * Nota Teoría + 0.1 * Nota Problemas + 0.5 * Nota de Proyectos

Se aplicará esta fórmula siempre que la nota de teoría y la nota de prácticas sean mayor que 5. No hay ninguna restricción sobre la nota de problemas. Si haciendo el cálculo de la fórmula sale >= 5, pero no llega al mínimo exigido en alguna de las actividades de evaluación, entonces la nota que se pondrá en el expediente será de 4.5.

Nota de Teoría

La nota de teoría pretende valorar las capacidades individuales del estudiante en cuanto a los contenidos teóricos de la asignatura, esto se hace de forma continuada durante el curso con dos exámenes parciales:

Nota Teoría = 0.5 * Nota Examen 1 + 0.5 * Nota Examen 2

El Examen parcial 1 se hace en la mitad del semestre y sirve para eliminar parte de la materia si se aprueba. El Examen parcial 2 se hace al final del semestre y sirve para eliminar la parte del temario que viene después del parcial 1 si se aprueba.

Para poder tener una nota de teoría será necesario que las notas de los exámenes 1 y 2 sean superiores a 4.

Examen de recuperación: En caso de que la nota de teoría no llegue al nivel adecuado para aprobar la teoría, los estudiantes se pueden presentar a un examen de recuperación, destinado a recuperar la parte no superada de la evaluación continua.

Notade Problemas

El objetivo de los problemas es que el alumno se familiarice con la aplicación práctica de los conceptos teóricos. La entrega semanal de las soluciones de los problemas se utilizará como evidencia de este trabajo.

Para obtener nota de problemas, es necesario que se entreguen mas que 50% de los problemas hechos durante el semestre. En caso contrario la nota de problemas será 0.

Nota Problemas = Evaluación del portfolio

Nota de Proyectos

La parte de proyectos tiene un peso esencial en la nota global de la asignatura y requiere que los estudiantes trabajen en grupos y diseñen una solución integral al reto definido. Además, los estudiantes deben demostrar sus habilidades para trabajar en equipo y presentar los resultados.

Cada uno de los dos proyectos se evalúa a través de su entregable, una presentación oral que harán los estudiantes en clase, y un proceso de autoevaluación por parte de los estudiantes. La participación de los estudiantes a las tres actividades (desarrollar el entregable, presentar y rellenar el formulario de autoevaluación) es necesaria para tener nota de proyecto. La nota se calcula de la siguiente manera:

Nota Proyecto X = 0.6 * Nota Entregable + 0.3 * Nota Presentación + 0.1 * Nota Autoevaluación

Si haciendo el cálculo de la fórmula sale >= 5, pero el estudiante no haya participado en alguna de las actividades (entregable, presentación o autoevaluación), entonces la nota del proyecto correspondiente será de 4.5.

Nota de Proyectos = 0.5 * Nota Proyecto 1 + 0.5 * Nota Proyecto 2

Para poder tener una nota de proyectos será necesario que las notas de los dos proyectos sean ambas superiores a 4.

No hay recuperación de los proyectos: en caso de no presentar una entrega o considerarla copiada, si la Nota de Proyectos final no supera el 5.0, se considera la asignatura suspendida.

Notas importantes

Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, la comisión de actividades irregulares por parte del estudiante (por ejemplo, plagiar, copiar, dejar copiar, …) implicará suspender la actividad correspondiente con un cero (0). Las actividades de evaluación calificadas de esta forma y por este procedimiento no serán recuperables.

En caso de que no se haga ninguna entrega de problemas, no se asista a ninguna sesión de presentación de los proyectos y no se haga ningún examen, la nota correspondiente será un "no evaluable". En otro caso, los "no presentados" computan como un 0 para el cálculo de la media ponderada.

Para obtener matrícula de honor, la calificación final debe ser igual o superior a 9 puntos. Debido a que el número de estudiantes con esta distinción no puede exceder el 5% del número total de estudiantes inscritos en el curso, se le otorga a quien tenga la calificación final más alta. En caso de empate, se tendrán en cuenta los resultados de los exámenes parciales.

Actividades de evaluación

Título Peso Horas ECTS Resultados de aprendizaje
Entrega de problemas 10% 2 0,08 1, 2, 3, 4
Presentación de proyectos 15% 4 0,16 2, 5, 6, 7
Pruebas escritas individuales 40% 4 0,16 1, 3, 4
Realización de proyectos (entregables y autoevaluacion) 35% 3 0,12 5, 6, 7

Bibliografía

  • Data Science from Scratch: First Principles with Python, Joel Grus, O'Reilly Media, 2015, 1st Ed.
  • Pattern Recognition and Machine Learning, Christopher Bishop, Springer, 2011
  • Model-Based Machine Learning, J. Winn, C. Bishop, early access: http://mbmlbook.com/
  • Introduction to Data Science. L. Igual, S. Seguí. Springer, 2017
  • Pattern Classification, Duda, Hart, and Stork, 2nd Ed., 2002

Software

Para los problemas y proyectos del curso se utilizará Python, y los módulos de Python: NumPy, MatPlotLib, SciKit Learn, Pandas