Machine Learning

Credits
6
Types
Specialization compulsory (Data Science)
Requirements
This subject has not requirements

Department
CS
The aim of machine learning is the development of theories, techniques and algorithms to allow a computer system to modify its behavior in a given environment through inductive inference. This inference is based on observed data that represent incomplete information about a phenomenon or process. Machine learning is a meeting point of different disciplines: statistics, artificial intelligence, programming and optimization, among others.

The course is divided into conceptual parts, corresponding to several kinds of fundamental tasks: supervised learning (classification and regression), unsupervised learning (clustering, density estimation) and semi-supervised learning (reinforcement and transductive). Specific modelling techniques studied include artificial neural networks and support vector machines. An additional goal is getting acquainted with R, a powerful computing environment based on free software, as well as learning how to develop practical solutions to difficult problems for which a direct approach is not feasible.

Teachers

Person in charge

  • Luis Antonio Belanche Muñoz ( )

Weekly hours

Theory
2
Problems
0
Laboratory
2
Guided learning
0.15
Autonomous learning
6.9

Competences

Generic Technical Competences

Generic

  • CG1 - Capability to apply the scientific method to study and analyse of phenomena and systems in any area of Computer Science, and in the conception, design and implementation of innovative and original solutions.
  • CG3 - Capacity for mathematical modeling, calculation and experimental designing in technology and companies engineering centers, particularly in research and innovation in all areas of Computer Science.
  • CG5 - Capability to apply innovative solutions and make progress in the knowledge to exploit the new paradigms of computing, particularly in distributed environments.

Transversal Competences

Reasoning

  • CTR6 - Capacity for critical, logical and mathematical reasoning. Capability to solve problems in their area of study. Capacity for abstraction: the capability to create and use models that reflect real situations. Capability to design and implement simple experiments, and analyze and interpret their results. Capacity for analysis, synthesis and evaluation.

Basic

  • CB6 - Ability to apply the acquired knowledge and capacity for solving problems in new or unknown environments within broader (or multidisciplinary) contexts related to their area of study.

Technical Competences of each Specialization

Specific

  • CEC1 - Ability to apply scientific methodologies in the study and analysis of phenomena and systems in any field of Information Technology as well as in the conception, design and implementation of innovative and original computing solutions.
  • CEC2 - Capacity for mathematical modelling, calculation and experimental design in engineering technology centres and business, particularly in research and innovation in all areas of Computer Science.

Objectives

  1. Formulate the problem of (machine) learning from data, and know the different machine learning tasks, goals and tools.
    Related competences: 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
    Related competences: CG5, CB6, CEC1, CEC2, CTR6,
  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
    Related competences: CG1, CEC1, CEC2, CTR6,
  4. Understand and know how to apply least squares techniques for solving supervised learning problems
    Related competences: CG3, CEC2, CTR6,
  5. Understand and know how to apply techniques for single and multilayer neural networks for solving supervised learning problems
    Related competences: CG3, CB6, CEC2, CTR6,
  6. Understand and know how to apply support vector machines for solving supervised learning problems
    Related competences: CG3, CG5, CB6, CEC2, CTR6,
  7. Understand and formulate different theoretical tools for the analysis, study and description of machine learning systems
    Related competences: CG3, CG5, CTR6,
  8. Understand and know how to apply the basic techniques for solving unsupervised learning problems
    Related competences: CG3, CB6,
  9. Understand and know how to apply basic techniques for solving reinforcement learning problems
    Related competences: CG3, CB6, CTR6,

Contents

  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.

Activities

Development of topic 1 of the course

Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
4
Objectives: 1
Contents:

Development of topic 2 of the course

Theory
4
Problems
0
Laboratory
4
Guided learning
0
Autonomous learning
8
Objectives: 2
Contents:

Development of topic 3 of the course

Theory
4
Problems
0
Laboratory
4
Guided learning
0
Autonomous learning
8
Objectives: 3
Contents:

Development of topic 4 of the course

Theory
4
Problems
0
Laboratory
4
Guided learning
0
Autonomous learning
8
Objectives: 4
Contents:

Development of topic 5 of the course

Theory
4
Problems
0
Laboratory
4
Guided learning
0
Autonomous learning
8
Objectives: 5
Contents:

Development of item 6 of the course

Theory
4
Problems
0
Laboratory
4
Guided learning
0
Autonomous learning
8
Objectives: 6
Contents:

Development of topic 7 of the course

Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
4
Objectives: 7
Contents:

Development of topic 8 of the course

Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
4
Objectives: 8 9
Contents:

Development of item 9 of the course

Theory
2
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
0
Objectives: 9
Contents:

Teaching methodology

The topics exposed in the lectures are very well motivated (why is this important?) and motivating (why is this relevant nowadays?) and supplemented with many real examples. These lectures will introduce all the knowledge, techniques, concepts and results necessary to achieve a solid understanding of the fundamental concepts and techniques. The laboratory lectures will make the students develop their own solutions to practical problems in the discipline.

There is a practical work, which that collects and integrates the knowledge and skills of the course; the students will be offered to pick a real problem among a predefined list; exceptionally, some students will bring their own problem. In addition there is a written test of basic knowledge (both theoretical and applied); the course is oriented towards training the students to pass the test with relative ease.

Evaluation methodology

The course is graded as follows:

NPract = Score for the practical work
NExam = Score of the test exam
NREAS = Score of the generic skill (REASONING)

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

Bibliografy

Basic:

Complementary:

Web links

Previous capacities

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