Aprendizaje Automático

Créditos
6
Tipos
Obligatoria de especialidad (Ciencia de los Datos)
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
CS
El objetivo del aprendizaje automático es el desarrollo de teorías, técnicas y algoritmos para permitir que un sistema informático modifique su comportamiento en un entorno dado a través de inferencias inductivas. El objetivo es inferir soluciones prácticas a los problemas difíciles -para los que un enfoque directo no es factible- a partir de datos observados sobre un fenómeno o proceso. El aprendizaje automático es un punto de encuentro de diferentes disciplinas: estadística, optimización y algoritmia, entre otros.

El curso se divide en partes conceptuales, correspondientes a diversos tipos de tareas fundamentales: aprendizaje supervisado (clasificación y regresión), aprendizaje no supervisado (agrupación, estimación de densidad) y aprendizaje semi-supervisado (por refuerzo). Las técnicas de modelización específicas estudiadas incluyen redes neuronales artificiales y máquinas de vectores de soporte. Un objetivo adicional es familiarizarse con R, un potente entorno informático basado en software libre.

Profesores

Responsable

  • Luis Antonio Belanche Muñoz ( )

Otros

  • Jaume Baixeries Juvillà ( )
  • Jose Luis Balcázar Navarro ( )
  • Marta Arias Vicente ( )

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0.15
Aprendizaje autónomo
6.9

Competencias

Competencias Técnicas Genéricas

Genéricas

  • CG1 - Capacidad para aplicar el método científico en el estudio y análisis de fenómenos y sistemas en cualquier ámbito de la Informática, así como en la concepción, diseño e implantación de soluciones informáticas innovadoras y originales.
  • CG3 - Capacidad para el modelado matemático, cálculo y diseño experimental en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación e innovación en todos los ámbitos de la Informática.
  • CG5 - Capacidad para aplicar soluciones innovadoras y realizar avances en el conocimiento que exploten los nuevos paradigmas de la Informática, particularmente en entornos distribuidos.

Competencias Transversales

Razonamiento

  • CTR6 - Capacidad de razonamiento crítico, lógico y matemático. Capacidad para resolver problemas dentro de su área de estudio. Capacidad de abstracción: capacidad de crear y utilizar modelos que reflejen situaciones reales. Capacidad de diseñar y realizar experimentos sencillos, y analizar e interpretar sus resultados. Capacidad de análisis, síntesis y evaluación.

Básicas

  • CB6 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.

Competencias Técnicas de cada especialidad

Específicas comunes

  • CEC1 - Capacidad para aplicar el método científico en el estudio y análisis de fenómenos y sistemas en cualquier ámbito de la Informática, así como en la concepción, diseño e implantación de soluciones informáticas innovadoras y originales.
  • CEC2 - Capacidad para el modelado matemático, cálculo y diseño experimental en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación e innovación en todos los ámbitos de la Informática.

Objetivos

  1. Formulate the problem of (machine) learning from data, and know the different machine learning tasks, goals and tools.
    Competencias relacionadas: CG3, CEC1,
  2. Organize the workflow for solving a machine learning problem, analyzing the possible options and choosing the most appropriate to the problem at hand
    Competencias relacionadas: CB6, CEC1, CEC2, CTR6, CG5,
  3. Ability to decide, defend and criticize a solution to a machine learning problem, arguing the strengths and weaknesses of the approach. Additionally, ability to compare, judge and interpret a set of results after making a hypothesis about a machine learning problem
    Competencias relacionadas: CG1, CEC1, CEC2, CTR6,
  4. Understand and know how to apply least squares techniques for solving supervised learning problems
    Competencias relacionadas: CG3, CEC2, CTR6,
  5. Understand and know how to apply techniques for single and multilayer neural networks for solving supervised learning problems
    Competencias relacionadas: CG3, CB6, CEC2, CTR6,
  6. Understand and know how to apply support vector machines for solving supervised learning problems
    Competencias relacionadas: CG3, CB6, CEC2, CTR6, CG5,
  7. Understand and formulate different theoretical tools for the analysis, study and description of machine learning systems
    Competencias relacionadas: CG3, CTR6, CG5,
  8. Understand and know how to apply the basic techniques for solving unsupervised learning problems
    Competencias relacionadas: CG3, CB6,
  9. Understand and know how to apply basic techniques for solving reinforcement learning problems
    Competencias relacionadas: CG3, CB6, CTR6,

Contenidos

  1. Introduction to Machine Learning
    General information and basic concepts. Overview to the problems tackled by machine learning techniques. Supervised learning (classification and regression), unsupervised learning (clustering and density estimation) and semi-supervised learning (reinforcement and transductive). Examples.
  2. Supervised machine learning theory
    The supervised Machine Learning problem setup. Classification and regression problems. Bias-variance tradeoff. Regularization. Overfitting and underfitting. Generalization bounds. Complexity of a model: Vapnik-Chervonenkis dimension and Rademacher complexity. Model selection and feature selection.
  3. Linear methods for regression
    Error functions for regression. Least squares: analytical and iterative methods. Regularized least squares. The Delta rule. Examples.
  4. Linear methods for classification
    Error functions for classification. The perceptron algorithm. Novikoff's theorem. Separations with maximum margin. Generative learning algorithms and Gaussian discriminant analysis. Naive Bayes. Logistic regression. Multinomial regression.
  5. Artificial neural networks
    Artificial neural networks: multilayer perceptron and radial basis functions network. Application to classification and to regression problems.
  6. Kernel functions and support vector machines
    Definition and properties of Kernel functions. Support vector machines for classification and regression problems.
  7. Unsupervised machine learning
    Unsupervised machine learning techniques. Clustering algorithms: EM algorithm and k-means algorithm. Kernel Density Estimation.
  8. Reinforcement learning and control
    Description of reinforcement learning. Markov decision processes and Bellman equations. Values and Temporal Difference methods. Q-learning and the Sarsa algorithm.
  9. Survey of advanced topics
    Bagging and boosting. Notes on deep learning, transductive learning and other hot topics. Challenging applications.

Actividades

Actividad Acto evaluativo


Development of topic 1 of the course


Objetivos: 1
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Development of topic 2 of the course


Objetivos: 2
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Development of topic 3 of the course


Objetivos: 3
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Development of topic 4 of the course


Objetivos: 4
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Development of topic 5 of the course


Objetivos: 5
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Development of item 6 of the course


Objetivos: 6
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Development of topic 7 of the course


Objetivos: 7
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Development of topic 8 of the course


Objetivos: 8 9
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Development of item 9 of the course


Objetivos: 9
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

Comprehensive (theoretical and practical) final quiz

This is a final quiz aimed at assessing the degree of acquisition of basic concepts and practical tools by the students
Objetivos: 1 2 3 4 5 6 7 8
Semana: 14
Tipo: examen de laboratorio
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Delivery of the practical work


Objetivos: 1 2 3 4 5 6 7 8
Semana: 15
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
25h

Metodología docente

Los temas expuestos en las clases teóricas estan muy bien motivados (¿por qué es importante esto?) y motivadores (¿por qué es hoy relevante?) y se complementarán con muchos ejemplos reales. Estas clases introducirán todos los conocimientos, técnicas, conceptos y resultados necesarios para conseguir una sólida comprensión de los conceptos y técnicas fundamentales. Las clases de laboratorio harán que los estudiantes lleguen a desarrollar sus propias soluciones a los problemas prácticos de la disciplina.

Hay un trabajo práctico, que recoge e integra los conocimientos y habilidades de la asignatura, y los estudiantes se les ofrecerá un problema real entre una lista predefinida; excepcionalmente, algunos estudiantes traen su propio problema. Además, hay una prueba escrita de conocimientos básicos (tanto teórica como aplicada), el curso está orientado a formar a los estudiantes para pasar la prueba con relativa facilidad.

Método de evaluación

El curso se evalúa así:

NPract = nota del trabajo práctico
NExam = nota del test
NREAS = nota de la competencia genérica (RAZONAMIENTO)

Nfinal = 35% NExam + 50% NPract + 15% NREAS

Bibliografía

Básica:

Complementaria:

Web links

Capacidades previas

Elementary notions of probability and statistics.
Elementary linear algebra and real analysis
Good programming skills in a high-level language