Academic Year 2023-2024



Christian Micheloni
Claudio Piciarelli
Unit Credits
Teaching Period
First Period
Course Type
Prerequisites. Linear algebra and programming paradigms are fundamental prerequisites
Teaching Methods. The course is organised in theoretical lessons, in exercise and lab sessions.
Verification of Learning. The final exam consists in a written test eventually followed by and oral discussion.

The student can opt to a machine learning project on themes proposed by the professor or of interest of the student and validated by the professor.

The grading criteria are those established by the Course of Studies and can be found at the following link:

More Information. The lectures will be recorded and automatically published on the e-learning page of the course. On such a page the registered student will access the video from remote.
The goal of the course is to present the fundamental concepts of the machine learning and to the introduce the most common algorithms for the learning by means of digital machines. The educational goal is to provide to the students the necessary knowledge that allows to solve real problems by selecting and developing the most proper algorithms of machine learning. The course is organized with a first part covering the theory at the base of classical machine learning algorithms and by a lab session when such algorithm will be developed in Python.

The student will have to:

know the fundamental concepts and algorithms for the automatic learning by means of digital devices.

know how to acquire and process data sets for learning purposes. Know to use the MATLAB programming language.

Know how to analyse an automatic learning problem both in supervised and unsupervised fashion. Indicate the expected education results as described in the following Dublin descriptors.

Knowledge and comprehension

Acquire specific knowledge of the main concepts and theory of the automatic learning by means of digital devices. T

o know and know how to use the MATLAB programming language for the implementation of machine learning algorithms.

Capacity to apply knowledge and comprehension

-Know to analyse and comprehend a machine learning algorithm.

-Know to analyse and interpret a machine learning problem and to apply the aforementioned knowledge to select the best learning scheme.

-Design an automatic learning system for sampled data. Judgment autonomy

-Know to evaluate the machine learning algorithms and to provide a personal choice of the most proper algorithm to solve a given problem.

-Know to distinguish between different solutions of machine learning and evaluate their performance.

Communication capabilities

-Know to present, written and orally, with rigorous logic and terminology technical issues related to algorithms and systems for the automatic learning by means of digital devices. Comprehension capabilities

-Know how to retrieve and use bibliographic and digital instruments useful for the personal investigation of problems related to automatic learning.

The course will provide the fundamentals of machine learning to the students. The following main difference will be introduced: 1) prediction Vs. classification and 2) supervised against unsupervised approaches. For each of such categories, the state of the art algorithms will be presented and discussed following a logic scheduling that goes from simple issues to the most recent advances in data analytics and deep learning. The course foresees both lab. sessions and exercises that will allow to implement the algorithm presented during the theoretical classes. Limits and characteristic of each algorithm will be deeply analysed.Extended program

1.Introduction – Presentation of the course and of the basic concepts of machine learning like vectors and features spaces. Machine learning applications like classification, regression, clustering and data compression. Classification of the machine learning techniques in supervised or unsupervised learning.

2.Regression – Linear regression techniques (minimization of the cost function by means of gradient descent techniques, least square, polynomial regression). Logistic regression both binomial or polynomial.

3.Supervised algorithms – Introduction to the classification algorithms. Most known algorithms (Decision trees, neural networks, deep learning, convolutional neural networks CNN, autoencoders, GAN, transformers, kernel, support vector machines, reinforcement learning, explainable AI). Back propagation algorithm.

4.Non supervised algorithms – Clustering definition and main clustering techniques (k-means, GMM, EM, etc.) . Data compression techniques by means of dimensionality reduction techniques like PCA and LDA.

5. Introduction to deep learning through the study of convolutional neural networks – CNN, autoencoders. Generative algorithms such as Variational Autoencoders, Generative Adverarial Networks (GAN) and Diffusion models. Treatment of transformers and their integration into the above-mentioned schemes. Basics of reinforcement learning and explainable AI.

6.Applications – The use of machine learning algorithm for real purposes like perception, text analyses, artificial vision, medicine, economy and others.

7.Laboratory – Implementation of most known regression, classification and reinforcement learning algorithms. The language used will be python with pytorch modules.

[1] Tom M. Mitchell, Machine Learning. McGraw-Hill, 1997.

[2] Christopher M . Bishop, Pattern Recognition and Machine Learning, Information Science and Statistics, 2006.

[3] I. Goodfellow,

Y. Bengio,

A. Courville. Deep Learning