MACHINE LEARNING M - Z

Academic Year 2024/2025 - Teacher: SIMONE PALAZZO

Expected Learning Outcomes

Knowledge and Understanding

This course provides a basic understanding of Machine Learning techniques and algorithms, with a particular focus on regression, classification, and unsupervised learning models. Students will learn to evaluate model performance using error metrics and validation techniques, addressing topics such as overfitting and the bias-variance tradeoff. The course also explores regularization methods, ensemble algorithms like bagging and boosting, and neural networks.

Applied Knowledge and Understanding

The course includes practical examples and exercises that will allow students to apply Machine Learning methods to real-world problems, using software tools commonly used in the industry such as scikit-learn. Students will learn how to design and implement Machine Learning models, manage data loading and preprocessing, and validate performance using standard metrics.

Making Judgments

Students will develop the ability to assess the performance of Machine Learning models, identify and mitigate overfitting and bias issues, and choose between different models and optimization techniques based on the context of the problem.

Communication Skills

Students will acquire the ability to effectively communicate the results of their analyses and models, both in written and oral form. They will be able to present the outcomes of their research and projects to both technical and non-technical audiences, using appropriate language and supporting their arguments with relevant data and visualizations.

Learning Skills

The course will encourage students to develop a critical and autonomous approach to learning, fostering curiosity about new technologies and trends in the field of Machine Learning and Deep Learning. Students will be able to continue learning independently, using academic and professional resources to stay updated on the latest innovations and techniques in the sector.

Course Structure

- Lectures, to provide theoretical and methodological knowledge of the subject.

- Practical exercises, to develop problem-solving skills and apply the design methodology.

- Laboratories, to learn and test the use of related tools.

- If the course is delivered in a hybrid or remote format, modifications to the above may be required.

Required Prerequisites

A preliminary knowledge of programming and the fundamentals of linear algebra and mathematical analysis is required.

Attendance of Lessons

Strongly suggested

Detailed Course Content

1. Basic Machine Learning Concepts

1.1. Models and parameters

1.2. Learning modes (supervised, unsupervised, self-supervised, reinforcement learning)

1.3. Performance evaluation (precision, recall, F1-score, ROC Curve and AUC, MAE, MSE, cross-validation and overfitting, bias-variance trade-off)

 

2. Supervised Learning

 

           2.1. Linear regression

           2.2. Regularization

           2.3. Linear and non-linear classification

           2.4. Support vector machines

           2.5. Decision trees, bagging, and boosting

           2.6. Non-parametric classifiers

           2.7. Neural networks

 

3. Unsupervised Learning

 

          3.1. Clustering

          3.2. Dimensionality reduction

          3.3. Basic concepts of self-supervised, constrastive, semi-supervised learning

 

4. Machine Learning Laboratory with Python

 

4.1. Syntax, data types, control structures, classes

4.2. Libraries for machine learning

Textbook Information

Study material provided by the teachers.

Course Planning

 SubjectsText References
1Basic concepts
2Laboratory of Python:  basic concepts
3Linear regression and optimization
4Laboratory on linear regression
5Performance evaluation
6Laboratory on performance evaluation
7Regularization
8Laboratory on regularization
9Classification
10Laboratory on classification
11PCA
12Laboratory on PCA
13Unsupervised learning
14Unsupervised learning laboratory
15Decision trees and  bagging/boosting
16Laboratory on decision trees and  bagging/boosting
17Neural Networks
18Laboratory on neural networks

Learning Assessment

Learning Assessment Procedures

Project on topics proposed by the instructors, to be completed at home.

Oral exam with project discussion and theory questions.

Examples of frequently asked questions and / or exercises

- Explain the bias-variance trade-off and how it affects the generalization ability of a machine learning model.

- Describe the least squares method and how it is used to estimate the parameters of a linear regression model.

- What is the difference between precision and recall? In which scenarios might one be more important than the other?

- Compare Ridge regression and LASSO, specifying when it would be preferable to use one over the other.

- How does the kernel trick extend the capabilities of SVMs to solve non-linearly separable problems?

- How does the PCA algorithm work for dimensionality reduction, and what are its limitations?

- Explain how a boosting algorithm like AdaBoost works and what its advantages are compared to individual decision trees.

- Explain backpropagation and its role in training neural networks.

- Explain the role of activation functions in a neural network.