Machine Learning
A.Y. 2024/2025
Learning objectives
The objective of the Machine Learning course is to give an in depth presentation of the techniques most used for pattern recognition, knowledge discovery, and data analysis/modeling. These techniques are presented both from a theoretical (i.e., statistics and information theory) perspective and a practical one (i.e., coding examples) through the descriptions of algorithms and their implementations in general purpose programming languages.
Expected learning outcomes
At the end of this class , the students are expected to: be familiar with the most widely used techniques for pattern recognition, knowledge discovery, and data analysis/modeling; be able to write simple programs or scripts implementing them; apply them to the bionformatic analysis of biological data.
Lesson period: Second semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.
Course syllabus and organization
Single session
Lesson period
Second semester
Course syllabus
The course lectures will present the theory and practice of the following:
- Machine Learning & Pattern Classification: the general concepts of Machine Learning and Patter Recognition are introduced within the framework of Statistical Decision Theory with reference to the bias-variance trade of and the Bayes classifier;
- Generalized Linear Regression: linear methods for regression will be presented and discussed introducing different techniques (e.g., Linear Regression, Ridge Regression, K-Nearest Neighbors Regression, Non Linear Regression, etc.) and the most common methodologies for model validation and selection (e.g., AIC, BIC, cross-validation, stepwise feature selection, Lasso, etc.).
- Linear and Non Linear Classification: generative and discriminative techniques for classification will be described and discussed (e.g., Logistic Regression, Linear and Quadratic Discriminant Analysis, K-Nearest Neighbors, Perceptron Rule and Support Vector Machines, etc.). Metrics for classifiers evaluation and comparison are presented in this part of the course (e.g., accuracy, precision, recall, ROC, AUC, F-measure, Matthew coefficient).
- Unsupervised Learning: the most common approaches to unsupervised learning are described mostly focusing on clustering methods such as hierarchical clustering, k-means, k-medoids, Mixture of Gaussians, DBSCAN, etc.
These topics will be presented both from a theoretical perspective and a practical one via implementations in the general purpose programming language Python.
- Machine Learning & Pattern Classification: the general concepts of Machine Learning and Patter Recognition are introduced within the framework of Statistical Decision Theory with reference to the bias-variance trade of and the Bayes classifier;
- Generalized Linear Regression: linear methods for regression will be presented and discussed introducing different techniques (e.g., Linear Regression, Ridge Regression, K-Nearest Neighbors Regression, Non Linear Regression, etc.) and the most common methodologies for model validation and selection (e.g., AIC, BIC, cross-validation, stepwise feature selection, Lasso, etc.).
- Linear and Non Linear Classification: generative and discriminative techniques for classification will be described and discussed (e.g., Logistic Regression, Linear and Quadratic Discriminant Analysis, K-Nearest Neighbors, Perceptron Rule and Support Vector Machines, etc.). Metrics for classifiers evaluation and comparison are presented in this part of the course (e.g., accuracy, precision, recall, ROC, AUC, F-measure, Matthew coefficient).
- Unsupervised Learning: the most common approaches to unsupervised learning are described mostly focusing on clustering methods such as hierarchical clustering, k-means, k-medoids, Mixture of Gaussians, DBSCAN, etc.
These topics will be presented both from a theoretical perspective and a practical one via implementations in the general purpose programming language Python.
Prerequisites for admission
No prerequisites different from those required for admission to the Master Degree program.
Teaching methods
Class lectures and practices; during course practices, students will have the opportunity to use their laptop to develop classic machine learning algorithms and use most common libraries for data analytics.
Teaching Resources
The slides presented during the course and the estimated detailed schedule of lectures and practices are available online. The course will mostly follow the book:
- Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani, An Introduction to Statistical Learning with Applications in R, http://www-bcf.usc.edu/~gareth/ISL/
Additional resources suggested for a better understanding of the course:
- Trevor Hastie, Robert Tibshirani, and Jerome Friedman, The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd edition)
- Burges, Christopher J. C., A tutorial on support vector machines for pattern recognition, https://link.springer.com/article/10.1023/A:1009715923555
- Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani, An Introduction to Statistical Learning with Applications in R, http://www-bcf.usc.edu/~gareth/ISL/
Additional resources suggested for a better understanding of the course:
- Trevor Hastie, Robert Tibshirani, and Jerome Friedman, The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd edition)
- Burges, Christopher J. C., A tutorial on support vector machines for pattern recognition, https://link.springer.com/article/10.1023/A:1009715923555
Assessment methods and Criteria
The course evaluation is composed of theoretical and practical parts:
- During the semester, a homework activity based on the analysis of some datasets with Python language will be proposed to be done at home and delivered before the start of the first exam session (20% of the grade)
- During the exam session, students will have to pass a written and an oral examination covering the whole program with both theoretical questions and practical exercises (80% of the grade)
- During the semester, a homework activity based on the analysis of some datasets with Python language will be proposed to be done at home and delivered before the start of the first exam session (20% of the grade)
- During the exam session, students will have to pass a written and an oral examination covering the whole program with both theoretical questions and practical exercises (80% of the grade)
INF/01 - INFORMATICS - University credits: 1
ING-INF/05 - INFORMATION PROCESSING SYSTEMS - University credits: 5
ING-INF/05 - INFORMATION PROCESSING SYSTEMS - University credits: 5
Practicals: 24 hours
Lectures: 36 hours
Lectures: 36 hours
Professor:
Trovo' Francesco