Machine Learning



  • Understand the paradigms and challenges of Machine Learning, distinguishing Supervised, Unsupervised and Reinforcement learning.
  • Learn the fundamental methods and their applications in data oriented knowledge discovery. Understand data features, the selection of models and their complexity.
  • Understand the advantages and disadvantages of the different methods.


  • Implement and adapt Machine Learning algorithms;
  • Model real data experimentally.
  • Interpret and evaluate experimental results.
  • Validate and compare different Machine Learning algorithms.

Soft Skills

  • Evaluate the suitability of each method to concrete applications and data sets.
  • Critical evaluation of the results.
  • Autonomy and self-reliance in the application and furthering studies in Machine Learning.

General characterization





Responsible teacher

Claudia Alexandra Magalhães Soares, João Alexandre Carvalho Pinheiro Leite


Weekly - 4

Total - 48

Teaching language



Available soon


  • T. Mitchell. Machine Learning, McGraw-Hill, 1997.
  • C. M. Bishop. Pattern Recognition and Machine Learning, Springer, 2006.
  • E. Alpaydin. Introduction to Machine Learning, Second Edition, MIT Press, 2010.
  • Stephen Marsland. Machine Learning: An Algorithmic Perspective CRC Press, 2011

Teaching method

Lectures will cover the fundamental topics of the subject matter, which the students should complement with the given bibliography. All lecture materials will be supplied for further study. Lectures will include some time for questions and discussion of the subject matter.

Tutorial classes will be dedicated to exercises and guidance in the practical assignments, focusing on selected topics.

Class schedules and materials will be supplied online, as well as additional information regarding the course.

Evaluation method

This curricular unit is evaluated by two components: theoretical/problems (T) and project (P). Each component contributes 50% to the final grade.

Both components are evaluated on an integer scale from 0 to 20.

To pass, the student must have:

(i)  a grade of at least 9,5 points in the theoretical/problems component; and

(ii) a grade of at least 9.5 points in the project component;

The final grade is the weighted average of the two evaluation components (0.5×T + 0.5×P) on an integer scale from 0 to 20 points.

 If the final grade is higher than 17 points, there will be an oral test to defend the grade obtained. After the oral examination, the grade will not be less than 17 points. If a student with a computed final grade larger than 17 does not attend the oral examination, the final grade is automatically defined as 17 points.


Theoretical/problems component

This component is evaluated by two written tests. The grade of this component is the average of the two written tests.

Alternatively, this component can be evaluated by a written exam. The exam will be graded in two independent parts, each corresponding to one test and replacing its grade if better.

An extra point will be awarded in the theoretical-practical component that will evaluate the delivery of a report transcribing and deepening the contents of one theoretical class.


Project component

This component is evaluated by two mini-projects, possibly with a final report and eventual intermediate reporting.

Some tutorial classes will be allocated to the mini-projects.

The mini-projects are done in groups of students, but this component is evaluated individually.

The grading of the different evaluation components is rounded to the first decimal place. The final grade is rounded to the closest integer value.

Students who did the project component from 2016/17 onwards can, if they choose, retain their previous grade, but they must not enroll in tutorial classes nor submit the assignments this year.

Subject matter

Introduction to Machine Learning

Machine Learning paradigms: Supervised Learning, Unsupervised Learning and Reinforcement Learning.


2.1 Types of Data

2.2 Measures of similarity and dissimilarity

2.3 Data normalization and visualization

2.4 Dimensionality reduction by Principal Component Analysis

 Supervised Learning

3.1 Regression

3.2 Decision Trees

3.3 Artificial Neural Networks

3.4 Support Vector Machines

3.5 Graphical models

3.6 K-nearest neighbour classifier

3.7 Methods for classifier evaluation and comparison

3.8 Ensembles

Unsupervised Learning

4.1 Partitional clustering

4.2 Probabilistic clustering

4.3 Partitional Fuzzy clustering

4.4 Hierarchical clustering

4.5 Markov chain

4.6 Clustering evaluation methods

4.6 Other unsupervised learning topics