Tipos
Complementaria de especialidad (Computación)
Requisitos
- Prerrequisito:
PE
- Correquisito:
PROP
El objetivo del aprendizaje automático (machine learning en inglés) es el desarrollo de teorías, técnicas y algoritmos que permitan a un sistema modificar su comportamiento a través de la inferencia inductiva. Esta inferencia está basada en la observación de datos que representan información incompleta sobre un proceso o fenómeno estadístico. El aprendizaje automático es un punto de encuentro de diferentes disciplinas: la estadística, la inteligencia artificial, la programación y la optimización, entre otros.
La asignatura se divide en tres partes conceptuales, correspondientes a tres tipos de problemas fundamentales: el aprendizaje supervisado (regresión y clasificación), no supervisado (clustering) y por refuerzo. Las técnicas de modelado que se estudian incluyen los modelos probabilisticos, árboles de decision, las redes neuronales artificiales y las máquinas de soporte vectorial. Como objetivo paralelo está la familiarización con python, un potente entorno de computación basado en software libre, así como aprender a diseñar soluciones prácticas en problemas difíciles de resolver de manera directa.
Profesorado
Responsable
Otros
Competencias
Competencias Transversales
Comunicación eficaz oral y escrita
-
G4 [Avaluable] - Comunicar de forma oral y escrita con otras personas conocimientos, procedimientos, resultados e ideas. Participar en debates sobre temas propios de la actividad del ingeniero técnico en informática.
-
G4.3
- Comunicarse de manera clara y eficiente en presentaciones orales y escritas sobre temas complejos, adaptándose a la situación, al tipo de público y a los objetivos de la comunicación utilizando las estrategias y los medios adecuados. Analizar, valorar y responder adecuadamente a las preguntas del auditorio.
Competencias Técnicas de cada especialidad
Especialidad de computación
-
CCO2 - Desarrollar de forma efectiva y eficiente los algoritmos y el software apropiados para resolver problemas complejos de computación.
-
CCO2.1
- Demostrar conocimiento de los fundamentos, los paradigmas y las técnicas propias de los sistemas inteligentes y analizar, diseñar y construir sistemas, servicios y aplicaciones informáticas que utilicen estas técnicas en cualquier ámbito de aplicación.
-
CCO2.2
- Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano de una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.
-
CCO2.4
- Demostrar conocimiento y desarrollar técnicas de aprendizaje computacional, y diseñar e implementar aplicaciones y sistemas que las utilicen, incluyendo las dedicadas a la extracción automática de información y conocimiento a partir de grandes volúmenes de datos.
Objetivos
-
Formular el problema del aprendizaje automático a partir de datos, y conocer los tipos de tareas que se pueden dar
Competencias relacionadas:
CCO2.1,
CCO2.2,
-
Organizar el flujo de resolución de un problema del aprendizaje automático, analizando las posibles opciones y eligiendo las más adecuadas al problema
Competencias relacionadas:
CCO2.1,
CCO2.4,
-
Decidir, defender y criticar una solución para un problema de aprendizaje automático, argumentando los puntos fuertes y débiles del acercamiento
Competencias relacionadas:
G4.3,
CCO2.1,
CCO2.4,
-
Contrastar, juzgar e interpretar un conjunto de resultados con posterioridad a una hipótesis sobre un problema del aprendizaje automático
Competencias relacionadas:
CCO2.1,
CCO2.4,
-
Conocer y saber aplicar técnicas de mínimos cuadrados para la resolución de problemas de aprendizaje supervisado
Competencias relacionadas:
CCO2.4,
-
Conocer y saber aplicar técnicas de redes neuronales mono y multicapa para la resolución de problemas de aprendizaje supervisado
Competencias relacionadas:
CCO2.2,
CCO2.4,
-
Conocer y saber aplicar técnicas de máquinas de vectores soporte para la resolución de problemas de aprendizaje supervisados
Competencias relacionadas:
CCO2.4,
-
Conocer y formular diferentes herramientas teóricas para el análisis, estudio y descripción de sistemas de aprendizaje automático
Competencias relacionadas:
CCO2.4,
-
Conocer y saber aplicar las técnicas básicas para la resolución de problemas de aprendizaje no supervisado
Competencias relacionadas:
CCO2.1,
CCO2.2,
CCO2.4,
-
Conocer y saber aplicar las técnicas básicas para la resolución de problemas de aprendizaje por refuerzo
Competencias relacionadas:
CCO2.1,
CCO2.2,
CCO2.4,
-
Conocer las técnicas modernas más importantes del aprendizaje automático y del aprendizaje computacional
Competencias relacionadas:
CCO2.1,
Contenidos
-
Introducción al Aprendizaje Automático
Información general y conceptos básicos. Descripción y planteamiento de los problemas atacados por el aprendizaje automático. Aprendizaje supervisado (regresión y clasificación), no supervisado (clustering) y por refuerzo. Ejemplos modernos de aplicación.
-
Teoría del Aprendizaje automático supervisado
Planteamiento del problema del Aprendizaje Automático supervisado. Problemas de clasificación y de regresión. Compromiso sesgo-varianza. Sobreajuste y infrajuste. Minimitación empírica del rieso/Log verosimilitud. Selección de modelos y selección de las variables del modelo.
-
Visualización y reducción de dimensionalidad
La maldición de la dimensionalidad. Métodos de selección de variables y transformación de datos. Métodos de reducción de dimensiones lineales (Análisis de componentes principales). Métodos de reducción de dimensiones no lineales (LLE, t-SNE)
-
Aprendizaje automático supervisado (I): Métodos lineales
Métodos lineales de aprendizaje por problemas de regresión y clasificación. Regresión lineal por mínimos cuadrados y regularización. Modelos lineales probabilísticos y discriminados por la clasificación: Análisis discriminante (LDA/QDA), modelos bayesianos, regresión logística. Interpretación de modelos lineales.
-
Aprendizaje automático supervisado (III): Modelos no lineales
Modelos no lineales para la regresión y clasificación. Modelos no paramétricos (k-vecinos cercanos). Redes neuronales y perceptrón multicapa, aprendizaje profundo. Máquinas de soporte vectorial y kernels. Árboles de decisión y combinación de clasificadores. Interpretación de modelos no lineales.
-
Aprendizaje automático no supervisado
Definición y planteamiento del aprendizaje automático no supervisado. Algoritmos de clustering: algoritmo EM y algoritmo k-means.
-
Aprendizaje por refuerzo
Descripción del aprendizaje por refuerzo. Procesos de Markov. Ecuaciones de Bellman. Valores y métodos de diferencias temporales. Aprendizaje Q y algoritmo Sarsa. Aplicaciones.
Actividades
Actividad
Acto evaluativo
Desarrollo del tema 1 de la asignatura
El alumno recibe información general y conceptos básicos sobre el aprendizaje automático así como ejemplos modernos de aplicación.
Objetivos:
11
1
Contenidos:
Desarrollo del tema 2 de la asignatura
El profesor imparte la teoría del aprendizaje automático no supervisado, focalizando en algoritmos de clustering.
Objetivos:
2
1
9
Contenidos:
Resolución de los problemas del tema 2 de la asignatura
El profesor plantea hasta 3 problemas relacionados con el tema en curso y los alumnos se los preparan. En las clases de problemas, el profesor resuelve dificultades, da orientaciones hacia la solución total de los problemas y resuelve eventuales dudas generales. Los alumnos trabajan de nuevo los problemas y los entregan.
Objetivos:
3
1
8
Semana:
2
Desarrollo del tema 3 de la asignatura
El profesor plantea el problema del Aprendizaje Automático supervisado. Explica las diferencias entre problemas de clasificación y de regresión. El compromiso sesgo-varianza y las nociones de sobreajuste e infrajuste y otras herramientas teóricas para selección de modelos.
Objetivos:
1
8
Contenidos:
Resolución de los problemas del tema 3 de la asignatura
El profesor plantea hasta 3 problemas relacionados con el tema en
curso y los alumnos se los preparan. En las clases de problemas, el
profesor resuelve dificultades, da orientaciones hacia la solución
total de los problemas y resuelve eventuales dudas generales. Los
alumnos trabajan de nuevo los problemas y los entregan.
Objetivos:
3
4
5
6
Semana:
5
Desarrollo del tema 4 de la asignatura
El profesor explica los fundamentos de los algoritmos de separación por hiperplanos: el algoritmo del perceptrón y la separación con margen máximo. Introduce las funciones de kernel y las máquinas de vectores soporte para clasificación. Introduce las redes neuronales para clasificación: perceptrón multicapa y red de funciones de base radial.
Objetivos:
11
1
6
7
Contenidos:
Resolución de los problemas del tema 4 de la asignatura
El profesor plantea hasta 3 problemas relacionados con el tema en
curso y los alumnos se los preparan. En las clases de problemas, el
profesor resuelve dificultades, da orientaciones hacia la solución
total de los problemas y resuelve eventuales dudas generales. Los
alumnos trabajan de nuevo los problemas y los entregan.
Objetivos:
3
4
2
6
Semana:
8
Desarrollo del tema 5 de la asignatura
El profesor introduce los métodos para problemas de regresión: básicamente mínimos cuadrados (métodos analíticos y iterativos). Introduce funciones de error para regresión y adapta las redes neuronales multicapa a este caso. Introduce la Máquina de vectores soporte para regresión.
Objetivos:
1
5
6
7
Contenidos:
Resolución de los problemas del tema 5 de la asignatura
El profesor plantea hasta 3 problemas relacionados con el tema en
curso y los alumnos se los preparan. En las clases de problemas, el
profesor resuelve dificultades, da orientaciones hacia la solución
total de los problemas y resuelve eventuales dudas generales. Los
alumnos trabajan de nuevo los problemas y los entregan.
Objetivos:
3
4
7
Semana:
10
Desarrollo del tema 6 de la asignatura
El profesor introduce las técnicas básicas de ensembles: Bagging, boosting y ECOC, y las explica a la luz del compromiso sesgo / varianza.
Objetivos:
2
11
8
Contenidos:
Resolución de los problemas del tema 6 de la asignatura
El profesor plantea hasta 3 problemas relacionados con el tema en
curso y los alumnos se los preparan. En las clases de problemas, el
profesor resuelve dificultades, da orientaciones hacia la solución
total de los problemas y resuelve eventuales dudas generales. Los
alumnos trabajan de nuevo los problemas y los entregan.
Objetivos:
3
4
2
9
10
Semana:
12
Desarrollo del tema 7 de la asignatura
El profesor explica los fundamentos del aprendizaje por refuerzo y sus aplicaciones e introduce brevemente el aprendizaje transductivo.
Objetivos:
11
10
Contenidos:
Resolución de los problemas del tema 7 de la asignatura
El profesor plantea hasta 3 problemas relacionados con el tema en
curso y los alumnos se los preparan. En las clases de problemas, el
profesor resuelve dificultades, da orientaciones hacia la solución
total de los problemas y resuelve eventuales dudas generales. Los
alumnos trabajan de nuevo los problemas y los entregan.
Objetivos:
3
4
11
Semana:
14
Examen final
Objetivos:
5
6
7
8
9
10
Semana:
15 (Fuera de horario lectivo)
Entrega de la práctica
Objetivos:
3
4
2
5
6
7
8
9
10
Semana:
14
Metodología docente
El temario se expone en las clases de teoría de forma muy motivada (por qué se explica) y motivadora (por qué es importante conocerlo), complementado con muchos ejemplos. Las clases de teoría introducen todos los conocimientos, las técnicas, conceptos y resultados necesarios para alcanzar un nivel bien fundamentado y entendedor. Estos conceptos se ponen en práctica en las clases de problemas y en las de laboratorio.
Con anterioridad a cada clase de problemas, el profesor plantea problemas relacionados con el tema en curso y los alumnos tienen tiempo para podérselos preparar en las horas de AA de trabajo personal. En las clases de problemas (de una hora de duración), la clase se dividirá entre varios grupitos en función del número de alumnos. El profesor resuelve dificultades, da orientaciones y eventualmente resuelve dudas, dando realimentación y haciendo que los alumnos avancen en la resolución. Se espera usar estrategias de aprendizaje colaborativo donde uno o más alumnos toman la responsabilidad de liderar el proceso de resolución de los problemas, argumentando entre todos. Los alumnos trabajan de nuevo los problemas y los entregan. Estas entregas de problemas son continuadas, uniformes en carga y evaluadas. También se evalúa mediante esta estrategia la competencia genérica de comunicación eficaz.
En las clases de laboratorio se ponen en práctica los conceptos trabajados en las clases de teoría y algunos de los problemas ya trabajados en las clases de problemas, usando un entorno de programación muy adecuado a la asignatura, el lenguaje python.
Las dos horas de clases de teoría se hacen semanalmente. Las dos horas de clases de laboratorio se hacen quincenalmente. La hora de problemas se hace semanalmente.
Hay un trabajo práctico evaluable, que trabaja un problema real a elegir por el propio estudiante y que recoge e integra los conocimientos y las competencias de todo el curso. También se evalúa mediante trabajo práctico la competencia genérica de comunicación eficaz.
Método de evaluación
La asignatura puede aprobarse mediante la evaluación continua, de la siguiente manera:
NProbs = Nota media de los problemas realizados durante el curso
NPract = Nota del trabajo práctico
NPart = Nota de la competencia transversal
NF1 = 50% NProbs + 40% NPract + 10% NPart
La asignatura puede también aprobarse mediante un examen final, de la siguiente manera:
NExF = Nota obtenida en el examen final (periodo de exámenes)
NF2 = 40% NExF + 20% NProbs + 30% NPract + 10% NPart
En cualquier caso, la nota final es el máximo de las dos:
NOTA FINAL = max (NF1, NF2)
Bibliografía
Básica:
-
Pattern recognition and machine learning -
Bishop, C.M,
Springer, 2006. ISBN: 0387310738
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003157379706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
-
Mathematics for machine learning -
Deisenroth, M.P.; Faisal, A.A.; Ong, Ch. S,
Cambridge University Press, 2020. ISBN: 9781108470049
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004193259706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
-
The elements of statistical learning: data mining, inference, and prediction -
Hastie, T.; Tibshirani, R.; Friedman, J,
Springer, 2009. ISBN: 9780387848570
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003549679706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
-
Interpretable machine learning: a guide for making black box models explainable -
Molnar, C.,
Christoph Molnar, 2022. ISBN: 9798411463330
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005074275306711&context=L&vid=34CSUC_UPC:VU1&lang=ca
-
Introduction to machine learning -
Alpaydin, E,
The MIT Press, 2020. ISBN: 9780262043793
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004193529706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementaria:
-
Pattern classification -
Duda, R.O.; Hart, P.E.; Stork, D.G, John Wiley & Sons ,
2001.
ISBN: 0471056693
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002131619706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
-
Neural networks for pattern recognition -
Bishop, C.M, Clarendon Press ,
1995.
ISBN: 0198538642
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001363259706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
-
Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: concepts, tools, and techniques to build intelligent systems -
Géron, A, O'Reilly ,
2023.
ISBN: 9781098125974
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005067276006711&context=L&vid=34CSUC_UPC:VU1&lang=ca
-
Probabilistic machine learning : an introduction -
Murphy, Kevin P, The MIT Press ,
[2022].
ISBN: 9780262046824
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004949216206711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Capacidades previas
Nociones elementales de probabilidad y estadística.
Nociones básicas de álgebra lineal y análisis real
Buen nivel de programación en un lenguaje de alto nivel