81610 - Machine Learning

Academic Year 2022/2023

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Science (cod. 8028)

Learning outcomes

Machine learning deals with computer programs that extract features from data, and use them to solve predictive tasks, such as document classification, object recognition, anomaly detection, medical diagnosis, robot control, and so on. These programs, typically improve their performance through experience; they adapt to new tasks, related to previously encountered ones, solving them more efficiently. The course cover traditional topics such as decision tree learning, logistic regression, Bayesian networks and neural networks and introduces the recent field of deep learning.

Course contents

The first part of the course provides a general introduction to the field of machine learning, in its typical forms: supervised, unsupervised, with reinforcement. Traditional topics such as decision tree learning, logistic regression, Bayesian networks and Support Vector Machines will be covered.

The second part of the course is focused on Neural Networks, and their typical learning mechanism: the backpropagation algortihm. We shall discuss the main types of neural nets: feed forward, convolutional, recurrent, and their practical applications. We shall also investigate techniques to visualize the effect of hidden units (tightly related to deep dreams and inceptionism) as well as several generative approaches comprising Generative Adversarial Networks.

The final lessons will be devoted to a quick introduction to Reinforcement Learning.

Readings/Bibliography

Teacher's slides.

During the course, additional links to relevant documents and sites will be provided.

Reading of the following textbooks is strognly encouraged:

  • Yoshua Bengio, Ian Goodfellow and Aaron Courville, "Deep Learning", MIT Press (to appear)

Teaching methods

Frontal lessons integrated with practical esemplifications

Assessment methods

Individual projects on topics defined by the teacher, possibly integrated by a written quiz. 

Teaching tools

The course will make use of several opens source libraries for Machine Learning. In particular we shall mostly use

Office hours

See the website of Andrea Asperti