Introduction to Machine Learning

Period of duration of course
‌‌
Course info
Number of course hours
40
Number of hours of lecturers of reference
40
CFU 6
‌‌

Modalità esame

Practical project, written report, and oral presentation

Note modalità di esame

Verification will take place both during class and through moments of teacher-led interaction and evaluation of the assigned project and its presentation.

Lecturer

View lecturer details

Lecturer

View lecturer details

Prerequisiti

The course is intended for students in their second or third year of master's degree, in science disciplines. The course includes an open lab to support students in the execution of projects (Integrative Teaching, 12 hours).

Programma

1) Introduction: the Knowledge Discovery process. 

  • KDD process: all the steps at a glance. 
  • Data understanding and data exploration. 
  • Exercises: hands-on practice on simple case studies using Python libraries
  • Introduction to NumPy, Pandas and Seaborn (extra support in lab)

2) Unsupervised learning methods: : methods and hands-on exercises 

  • Pattern Mining and Association Rules: basic concepts and a-priori algorithm 
  • Tutorials: practical exercises on simple case studies using Python libraries

3) Supervised learning: methods and practical exercises

  • Classification: introduction, performance evaluation. A first simple classifier:Decision tree
  • Exercises: hands-on practice on simple case studies using Python libraries
  • Overview of advanced methods: Random Forest, Support Vector Machine
  • Introduction to Neural Networks, project description and assignment
  • Exercises: hands-on practice on advanced classification methods and Neural Networks withPyTorch (2h)

4) Introduction to Deep Learning architectures: methods and hands-on exercises

  • Convolutional Neural Networks, theory and practice with PyTorch
  • Recurrent Neural Networks
  • Adversarial Generative Networks
  • Transformers
  • Graph Neural Networks

5) Design principles and reliability issues in AI-based systems

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. A special focus is dedicated to modern Deep Neural Network architectures. 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 knowledge extraction and its engineering issues. Students will be exposed to the implementation of two projects involving learning processes from data in different contexts and using different methods.


Riferimenti bibliografici

1)    “Introduction to Data Mining”, 2nd Edition by Tan, Steinbach, Karpatne, Kumar

2)    Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning. MIT Press, 2016. https://www.deeplearningbook.org/

1)    Python a Machine Learning, Bellini & Guidi Mc Graw Hill

2)    Intelligent Data Analysis: An Introduction, Berthold &Hand, Springe