Course description

This is an introductory course in machine learning, covering fundamental topics such as supervised learning, unsupervised learning, Bayesian inference and reinforcement learning. The course objective is not only to learn how to apply common machine learning algorithms, but to provide students with sufficient knowledge to carry out research in machine learning or a related field. For this reason, the course describes the basic mathematical formulations that underlie machine learning.

Learning outcomes

  • Understand the mathematical principles that form the basis of machine learning.
  • Solve basic mathematical exercises related to machine learning theory.
  • Recognize the type of learning problem and select appropriate algorithms.
  • Implement machine learning algorithms in a common programming language and test them on actual learning problems.
  • Evaluate and interpret the outcome of learning on a given problem and compare the outcome for different algorithms.
  • Select appropriate values of hyperparameters through validation.


The student is expected to have taken the following (or similar) courses:

  • Linear Algebra
  • Calculus
  • Probability theory/statistics


The evaluation will consist of a set of homework and programming exercises, and a
final exam. The grade of the course will be calculated as follows:

Final Grade = 0.2 * Homework + 0.4 * Labs + 0.4 * Exam,

where Homework and Labs are the averages over the homework and programming
exercises, respectively, and Exam is the grade of the final exam. To pass the course, the students need to hand in all homeworks and all labs and a minimum grade of 5 is required in the three parts.


Lecture 1: Introduction to machine learning (Anders)
Lecture 2: Linear models (Anders)
Lecture 3: The bias-variance trade-off and over-fitting (Practical session #1) (Anders / Vicenç)
Lecture 4: Optimization and gradient descent (Anders)
Lecture 5: Common algorithms for supervised learning (Practical session #2) (Anders / Vicenç)
Lecture 6: Unsupervised learning (Anders)
Lecture 7: Deep Learning and Applications I (Practical session #3) (Anders)
Lecture 8: Deep Learning and Applications II (Practical session #4) (Vicenç)
Lecture 9: Bayesian learning and inference (Vicenç)
Lecture 10: Introduction to probabilistic graphical models (Vicenç)

Basic Competences:

  • That students have and understand knowledge that provides a basis or opportunity to be original in the development and/or application of ideas, often in a research context.
  • That students are able to integrate knowledge and face the complexity of making judgments from information that, being incomplete or limited, includes reflections on the social and ethical responsibilities linked to the application of its knowledge and judgments.
  • That students possess the learning skills that allow them to continue studying in a way that will be largely self-directed or autonomous.

Transversal Competences

  • Applying with flexibility and creativity the acquired knowledge and adapting it to new contexts and situations.

Specific Competences

  • Solve mathematical problems related to machine learning and apply the knowledge to different forms of learning (supervised, unsupervised, reinforcement learning).
  • Ability to communicate effectively using the technical vocabulary of the field in English.
  • Use techniques of calculus and linear algebra applied to machine learning by means of existing software packages.
  • Apply machine learning to realistic problems in order to learn appropriate models.
  • Identify machine learning problems and select the appropriate algorithm for solving them.


Y. Abu-Mostafa, M. Magdon-Ismail & H-T Lin: Learning from Data.
C. Bishop: Pattern Recognition and Machine Learning.
D. MacKay: Information Theory, Inference, and Learning Algorithms.
R. Sutton & A. Barto: Reinforcement Learning: An Introduction.