Aprendizaje Automático

Usted está aquí

Créditos
6
Tipos
Complementaria de especialidad (Computación)
Requisitos
  • Prerrequisito: PE
  • Correquisito: PROP
Departamento
CS
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

  • Javier Béjar Alonso ( )

Otros

  • Daniel Hinjos García ( )

Horas semanales

Teoría
2
Problemas
1
Laboratorio
1
Aprendizaje dirigido
0
Aprendizaje autónomo
6

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

  1. 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,
  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,
  3. 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,
  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,
  5. Conocer y saber aplicar técnicas de mínimos cuadrados para la resolución de problemas de aprendizaje supervisado
    Competencias relacionadas: CCO2.4,
  6. 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,
  7. 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,
  8. 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,
  9. 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,
  10. 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,
  11. Conocer las técnicas modernas más importantes del aprendizaje automático y del aprendizaje computacional
    Competencias relacionadas: CCO2.1,

Contenidos

  1. 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.
  2. 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.
  3. 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)
  4. 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.
  5. 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.
  6. Aprendizaje automático no supervisado
    Definición y planteamiento del aprendizaje automático no supervisado. Algoritmos de clustering: algoritmo EM y algoritmo k-means.
  7. 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:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

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:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

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
Tipo: examen de problemas
Teoría
0h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

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:
Teoría
6h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

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
Tipo: examen de problemas
Teoría
0h
Problemas
3h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

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:
Teoría
5h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

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
Tipo: examen de problemas
Teoría
0h
Problemas
3h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

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:
Teoría
5h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

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
Tipo: examen de problemas
Teoría
0h
Problemas
3h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

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:
Teoría
4h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

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
Tipo: examen de problemas
Teoría
0h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

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:
Teoría
3h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

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
Tipo: examen de problemas
Teoría
0h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Examen final


Objetivos: 5 6 7 8 9 10
Semana: 15 (Fuera de horario lectivo)
Tipo: examen de teoría
Teoría
3h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Entrega de la práctica


Objetivos: 3 4 2 5 6 7 8 9 10
Semana: 14
Tipo: examen de laboratorio
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

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:

Complementaria:

Web links

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