Machine Learning (3 CFU module)
Module Description and Motivation
The objective of this 3 CFU module is to provide a general overview of the modern software libraries and programming techniques for Machine Learning and their applicability in ICT scenarios. In addition to the description of the foundations of Machine Learning, the module provides the necessary background in order to understand and apply Machine Learning approaches to classification, regression and clustering techniques to solve practical problems in different applicative scenarios by mean of neural networks and other learning techniques. At the end of the module students will be able to handle different Machine Learning models, to tune them to specific applications, and to design approaches that may scale with large amount of data.
Knowledge and understanding: to know the problems, methodologies and applications of Machine Learning techniques.
Applying knowledge and understanding: to implement different classification, regression and clustering algorithms to solve problems in different applicative scenarios.
Making judgements: to develop adequate critical skills through practical activities in implementing peculiar simulative algorithms and interpreting the obtained results.
Communication skills: to improve ability to critically expose the matters learned during the course.
Learning skills: to improve autonomous and independent study capacity.
Scientific Sector (SSD)
ING-IND/31 (Electrical Engineering)
Overview and Credits
MCOR; First year; Second semester. 3 CFUs.
Students are expected to have the following background:
Basic linear algebra
Basic optimization theory
Basic probability theory
Basic computer programming
Introduction to Python.
Basics of Python programming.
Main Python libraries: NumPy, Matplotlib, and SciPy.
Data manipulation in Python: Pandas library.
Machine Learning in Python: scikit learn library.
Using scikit learn: data preparation.
Using scikit learn: model implementation, evaluation, and validation.
Understanding underfitting and overfitting.
Reproducible machine learning.
Complete project implementation.
Introduction to TensorFlow.
Sebastian Raschka, Vahid Mirjalili, Python Machine Learning - Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2, Third Edition, Packt Publishing, 2019.
Sebastian Raschka, Vahid Mirjalili, Machine Learning con Python - Costruire algoritmi per generare conoscenza, Seconda edizione, Apogeo, 2020. (in Italian)
Jake VanderPlas, A Whirlwind Tour of Python, O'Reilly Media, 2016.
Jake VanderPlas, Python Data Science Handbook: Essential Tools for Working with Data, O'Reilly Media, 2016.
Aurélien Géron, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, O'Reilly Media, 2nd edition, 2019.
Andreas C. Müller, Sarah Guido, Introduction to Machine Learning with Python, O'Reilly Media, 2016.
Joel Grus, Data Science from Scratch, O'Reilly Media, 2nd Edition, 2019.
Time and Location
The module will start on February 23 2023, with the following schedule:
Thursday, 09:30 - 12:00, Room 20
Every day by appointment.
News, updates, and communications about the course will be available on Google Classroom, with the code: psc3z4j.
Using scikit learn: model implementation, evaluation, and validation
Python Source Codes:
The project can be presented as soon as completed. For the formal exam registration on INFOSTUD platform, please contact Prof. Uncini.