MACHINE LEARNING

Course objectives

GENERAL Advanced theoretical and application concepts are provided that regarding the moden Machine Learning (ML) methods, other specific methodologies related to them, and various application contexts, generally referring to data learning methods with a predominantly statistical approach. The training objectives concern the review/presentation of ML methods with mathematical insights, the applicability of the methods in various scenarios of interest. In particular, the course is structured on the following topics that general: 1) Mathematical principles of modern artificial intelligence; 2) Introduction or revisiting ML methods with advanced theoretical and mathematical approach; 3) Advanced ML-specific algorithms: theory and practice; 4) Main libraries used in the context of ML. In particular ScikitLearn, Torch and TensorFlow 2.x. SPECIFIC • Knowledge and understanding: The student will acquire knowledge that will enable him/her to understand the general issues of applicability of ML methods in various operational contexts. • Ability to apply knowledge and understanding: The student will acquire skills that will enable him/her to design and implement ML algorithms in classification, regression, prediction and filtering problems. Contextualization of methodologies in application scenarios. • Making judgments: Through intense and systematic practical activity on real data, the student will acquire independent judgment with respect to the specifics of practical problems and the ability to identify solutions adequate to respond to the required performance. • Communication skills: The topics covered in the course are of general interest in the scientific and industrial fields, particularly in the fields of cultural heritage, e-health, home automation, the environment, logistics, transportation, and personal and property safety. After completing this course, students will be able to communicate the knowledge they have acquired to specialist and non-specialist interlocutors in the world of research and work in which they will develop their subsequent scientific and/or professional activities. • Learning ability: The teaching methodology implemented in the course requires independent and self-managed study activities during the development of monothematic projects for the didactic and/or experimental study of specific topics.

Channel 1
AURELIO UNCINI Lecturers' profile

Program - Frequency - Exams

Course program
Part 1: Advanced Mathematics and Statistics, Contextualized for Machine Learning (0.5 ECTS) 1. Metric Spaces: Building Blocks for Modern ML; 2. Nonlinear Programming for Unconstrained and Constrained Optimization: Theory and Algorithms; 3. Stochastic Variables and Processes, Estimation Theory, Information Theory: Contextualization for ML Methods; 4. Transformations for Data Representation and Dimensionality Reduction. Part 2: "Classic" ML Algorithms and Their Practical Applications (1.0 ECTS) 1. Supervised Algorithms for Classification and Regression (reviewed as they are already known from the undergraduate level); 2. Unsupervised Algorithms for Clustering (reviewed as they are already known from the undergraduate level); 3. Solutions to Over/Underdetermined and Sparse Linear Systems; 4. ML Models for Linear and Nonlinear Adaptive Filtering; 5. Support Vector Machines and Variants Including: Kernel SVM, Multiclass SVM, SVM for Unbalanced Data, Least Squares SVM; 6. Decision Trees and Variants Including: Regression Trees, CART (Classification and Regression Trees), Random Forest, Boosted Trees, Decision Trees for Data Stream. Part 3: Advanced ML Algorithms (1.5 ECTS) 1. Advanced Optimization Techniques: Multi-objective optimization, metaheuristic algorithms (e.g., genetic algorithms, simulated annealing) to solve complex optimization problems not addressed with standard techniques; 2. Semi-Supervised and Reinforcement Learning: Learning methods that use unlabeled or partially labeled data, and reinforcement learning techniques such as Q-learning and policy gradients for sequential decision making; 3. Advanced Graphical Models: Exploration of probabilistic graphical models for inference, such as Bayesian networks and Markov random fields; 4. Introduction to Biologically Inspired Models and Neural Networks. Part 4: Python (3 ECTS) Taught by Prof. Michele Scarpiniti 1. Refresher on the Basics of Python Programming; 2. Use of Main Libraries: In-depth study of NumPy, Matplotlib, and SciPy; 3. Data Manipulation and the Pandas Library; 4. Machine Learning in Python: Development of Object-Oriented Programs and the Scikit-learn Library; 5. Use of Scikit-learn for Data Preprocessing, Implementation, Validation, and Evaluation of Models Described in the Course; 6. Development of Several Complete Projects.
Prerequisites
The Machine Learning (ML) course is designed as an advanced course. Therefore, it is hoped that students have knowledge of the basic ML techniques, for example, those already acquired in a preliminary course on the subject, as well as proficiency in programming with the Python language. In the event that such skills are lacking, the instructor will provide specific material for aligning the necessary competencies to follow the course successfully.
Books
Aurelio Uncini, “MeM-AI: Mathematical Elements of Modern Artificial Intelligence,” dispense Ed. 2025. Aurelio Uncini, “Introduction to Neural Networks and Deep Learning,” Cap .1 – Cap. 5 dispense Ed. 2025. Aurelio Uncini, "Fundamentals of Adaptive Signal Processing", ISBN : 978-3-319-02806-4, Springer, 2015 Specific papers provided by the Lecturer on advanced topics.
Frequency
According to the regulation of the CdA
Exam mode
Max 24 points for the performance and discussion of the end-of-course project. Max 6 points for oral evidence on the entire course syllabus.
Lesson mode
In-person teaching. In exceptional cases also at a distance.
MICHELE SCARPINITI Lecturers' profile

Program - Frequency - Exams

Course program
Hints of Python programming for Machine Learning algorithm development. Examples of applications. Python for Machine Learning. Advanced topics on Python to work with ML applications. Implementation of the most important machine learning algorithms.
Prerequisites
Knowledge of basic computer programming, at a level sufficient to write a reasonably non-trivial computer program.
Books
Sebastian Raschka, Vahid Mirjalili, Python Machine Learning - Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow, Second Edition, Packt Publishing, 2017
Frequency
The attendance is optional but strongly encouraged.
Exam mode
Project development with delivery of the related report. To pass the exam it is necessary to achieve a grade of not less than 18/30. The student must demonstrate to have acquired a sufficient knowledge of the Machine Learning techniques and to be able to carry out a project independently, by applying some of the studied methods in an applicative scenario. In evaluating the exam, the determination of the final grade takes into account the following elements: 1) Technical quality of the project: 70% 2) Project discussion: 30%
Lesson mode
The course is performed through lectures and practical exercises.
  • Lesson code10593529
  • Academic year2025/2026
  • CourseTelecommunication Engineering
  • CurriculumTelecommunication Engineering (percorso valido anche ai fini del rilascio del doppio titolo italo-francese o italo-statunitense )
  • Year1st year
  • Semester1st semester
  • SSDING-IND/31
  • CFU6
  • Subject areaIngegneria delle telecomunicazioni