- Docente: Andrea Asperti
- Credits: 6
- SSD: INF/01
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: First cycle degree programme (L) in Computer Science (cod. 8009)
-
from Sep 25, 2025 to Dec 19, 2025
Learning outcomes
During the course, the student will be introduced to the complex themes pertaining to the simulation of intelligent behavior by means of machines, with practical experimentation of basic machine learning techniques for different tasks: supervised, unsupervised, with reinforcement. The course will also provide rudiments of image processing, since images will be extensively used as experimental test bench for the aforementioned learning techniques.
Course contents
The course is essentially structured in two parts: one dedicated to traditional Machine Learning techniques, and the other focused on an introduction to neural networks and deep learning.
In the first part, the goal is to highlight the typical approach of machine learning, centered on defining a parametric class of models, formulating a loss function to compare them, and optimizing the parameters to find the best model. Emphasis will be placed on the importance of the probabilistic approach and on the distinction between discriminative and generative models. Key concepts in the field will be introduced, such as entropy, likelihood, and the gradient descent technique.
In the second part of the course, neural networks will be introduced, along with the notion of layers and the important case of convolutional networks. Some simple models will be described and their practical application will be shown on basic problems of image classification and transformation.
Readings/Bibliography
- FIRST PART: Mathematics for Machine Learning. by Deisenroth, Faisal, and Ong. Free PDF from Cambridge University Press
- SECOND PART: Dive into Deep Learning by Zhang et al. (D2L). Free Online Book with several notebooks.
Teaching methods
Lectures will be delivered using slides, with discussion of practical examples through the use of Python notebooks.
Supplementary lab sessions are also planned, with the support of teaching assistants.
Assessment methods
The assessment method includes both a written exam with closed-ended questions on the course content and a small project (usually on neural networks) to be completed individually within one week, based on a prompt provided by the instructor.
Teaching tools
The lectures will make extensive use of slides. Concrete and working examples will be provided through the use of Python notebooks.
Office hours
See the website of Andrea Asperti