Introduzione al Machine Learning

Periodo di svolgimento
Info sul corso
Ore del corso
Ore dei docenti responsabili
Ore di didattica integrativa

Modalità esame

Prova scritta


Vedi dettagli del docente


Vedi dettagli del docente


Students with no background in python are recommended to attend the course "Scientific Programming I: Data Processing and Software Prototyping" by Prof. Bloino


The course will introduce concepts and methods of the two major families of tasks for learning from data. Project work in teams will be assigned along the course.

1) Introduction: the Knowledge Discovery process.

  • All steps in a nutshell.
  • Data understanding and Data exploration: methods and practicals case study on simple data sets iris e titanic

2) Unsupervised learning methods and practicals case study on simple data sets iris e titanic

  • Clustering: intro clustering: K-Means clustering, hints on DBSCAN e Hierarchical clustering
  • Pattern mining and Association Rules: a-priori pattern mining:

3) Supervised Learning: methods and practicals case study on simple data sets iris e titanic

  • Classification: introduction, performance evaluation, a first simple classifier: Decision tree 
  • Overview of advanced methods: Random Forest, Support Vector Machine, Neural Networks
  •  Deep Learning  architecture and exemplar use cases: Recurrent Neural Networks, Generative adversarial networks, Transformers, and Graph Neural Networks 

4) Design principles and Trustworthy issues on AI systems based on Data Mining and Machine Learning: bias discovery and explainability 

The course will provide  an open lab to support students for project execution Didattica Integrativa (12 hours)

Scheduling: Monday: 14-16 Aula Fermi, Tuesday: 11-13 aula Bianchi Scienze.

The course starts on February 19th, 2023.

The exam will consist of a project work and its discussion

Obiettivi formativi

The formidable advances in computing power, data acquisition, data storage, and connectivity have created unprecedented amounts of data. Data mining and Machine Learning, i.e., the science of extracting knowledge from these masses of data, has therefore been affirmed as an interdisciplinary branch of computer science. The course will introduce the foundations of learning and making predictions from data. The aim of the course is to provide students with basic knowledge of both theoretical foundations and practical aspects of data mining and machine learning with attention to the overall process of extracting knowledge, and its engineering issues. A special focus is dedicated to modern Deep Neural Network architectures.

Riferimenti bibliografici

  • “Introduction to Data Mining”, 2nd Edition by Tan, Steinbach, Karpatne, Kumar, Berthold et. al. Guide to Intelligent Data Analysis : How to Intelligently make sense of real data Introduction to Machine Learning,
  • Lecture notes. MIT, 2019. tes.pdf
  • Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning. MIT Press, 2016.
  • Hands-on Machine Learning with Scikit-Learn, Keras & Tensorflow. A practical handbook to start wrestling with Machine Learning models (2nd ed).