Difference between revisions of "Machine Learning Bio"
Line 2: | Line 2: | ||
The following are last-minute news you should be aware of ;-) | The following are last-minute news you should be aware of ;-) | ||
+ | * 24/02/2021: Lectures start today | ||
+ | |||
+ | <!-- | ||
* 08/08/2020: Grading for all projects and first two calls [[Media:Grades_20200723.pdf|are here!!]] | * 08/08/2020: Grading for all projects and first two calls [[Media:Grades_20200723.pdf|are here!!]] | ||
* 22/06/2020: Grading mechanism explained, check [[Media:ML2020_grading_system.pdf|here a handy recap]] | * 22/06/2020: Grading mechanism explained, check [[Media:ML2020_grading_system.pdf|here a handy recap]] | ||
Line 13: | Line 16: | ||
* 11/03/2020: The course starts today! | * 11/03/2020: The course starts today! | ||
* 03/03/2020: The course is going to start soon ... | * 03/03/2020: The course is going to start soon ... | ||
+ | --> | ||
==Course Aim & Organization== | ==Course Aim & Organization== | ||
− | 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 a general purpose programming language. | + | 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 a general-purpose programming language (i.e., python). |
− | The course presents the classical supervised and unsupervised learning paradigms described and discussed presenting regression, classification, and clustering problems in Bioinformatics. The course is composed | + | The course presents the classical supervised and unsupervised learning paradigms described and discussed presenting regression, classification, and clustering problems in Bioinformatics. The course is composed of a set of lectures on specific machine learning techniques (e.g., generalized linear regression, logistic regression, linear and quadratic discriminant analysis, support vector machines, k-nearest-neighborhood, clustering, etc.) preceded by the introduction of the Statistical Learning framework which acts as a common reference framework for the entire course. |
===Teachers=== | ===Teachers=== | ||
− | The course is composed | + | The course is composed of a blending of lectures and exercises by the course teacher and a teaching assistant. |
− | * [http://www.deib.polimi.it/ita/personale/dettagli/267262 Matteo Matteucci]: the course teacher | + | * [http://www.deib.polimi.it/ita/personale/dettagli/267262 Matteo Matteucci]: the course teacher and here it is his [http://politecnicomilano.webex.com/join/matteo.matteucci webex room] |
− | * [http://www.deib.polimi.it/ita/personale/dettagli/910274 Marco Cannici]: the teaching assistant | + | * [http://www.deib.polimi.it/ita/personale/dettagli/910274 Marco Cannici]: the teaching assistant and here it is his [HTTP://politecnicomilano.webex.com/join/marco.cannici webex room] |
===Course Program=== | ===Course Program=== | ||
Line 31: | Line 35: | ||
The course mostly follows the following book which is also available for download in pdf | The course mostly follows the following book which is also available for download in pdf | ||
− | * [http://www-bcf.usc.edu/~gareth/ISL/ An Introduction to Statistical Learning with Applications in R] by Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani | + | * [http://www-bcf.usc.edu/~gareth/ISL/ An Introduction to Statistical Learning with Applications in R] by Gareth James, Daniela Witten, Trevor Hastie, and Robert Tibshirani |
The course lectures will present the theory and practice of the following: | The course lectures will present the theory and practice of the following: | ||
− | * Machine Learning and Pattern Classification: the general concepts of Machine Learning and Pattern Recognition are introduced within the framework of Statistical Decision Theory with reference to the bias-variance trade off and the Bayes classifier; | + | * Machine Learning and Pattern Classification: the general concepts of Machine Learning and Pattern Recognition are introduced within the framework of Statistical Decision Theory with reference to the bias-variance trade-off 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.). | + | * 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). | + | * 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 | * 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 | ||
Line 43: | Line 47: | ||
===Detailed course schedule=== | ===Detailed course schedule=== | ||
− | A detailed schedule of the course can be found here; topics are just indicative while days and teachers are correct up to some last minute change (I will notify you by email). Please note that not all days we have lectures!! | + | A detailed schedule of the course can be found here; topics are just indicative while days and teachers are correct up to some last-minute change (I will notify you by email). Please note that not all days we have lectures!! |
Note: Lecture timetable interpretation | Note: Lecture timetable interpretation | ||
− | * On Wednesday, in room .. | + | * On Wednesday, in room B.6.1, starts at 14:15 (cum tempore), ends at 18:15 |
− | * On Thursday, in room .. | + | * On Thursday, in room B.6.1, starts at 08:15 (cum tempore), ends at 10:15 |
+ | |||
+ | {| border="1" align="center" style="text-align:center;" | ||
+ | |- | ||
+ | |Date || Day || Time || Room || Teacher || Type || Topic | ||
+ | |24/02/2021 || Wednesday || 15:15-19:15 || B.6.1 || Matteo Matteucci || Lecture || Course Intro + Machine Learning Intro | ||
+ | | | ||
+ | |25/02/2021 || Thursday || 08:15-10:15 || B.6.1 || Matteo Matteucci || Lecture || Statistical Learning Theory | ||
+ | | | ||
+ | |03/03/2021 || Wednesday || 15:15-19:15 || B.6.1 || Matteo Matteucci || Lecture || Statistical Learning Theory | ||
+ | | | ||
+ | |04/03/2021 || Thursday || 08:15-10:15 || B.6.1 || Matteo Matteucci || Lecture || Introduction to Linear Algebra | ||
+ | | | ||
+ | |03/03/2021 || Wednesday || 15:15-19:15 || B.6.1 || Matteo Matteucci || Lecture || Statistical Learning Theory | ||
+ | | | ||
+ | |03/03/2021 || Thursday || 08:15-10:15 || B.6.1 || Matteo Matteucci || Lecture || Introduction to Linear Algebra | ||
+ | | | ||
+ | |||
+ | } | ||
+ | |||
+ | -- -- Wednesday, 03/03/2021 | ||
+ | 3 Statistical machine learning 3 15:15-19:15 Wednesday, 03/03/2021 | ||
+ | 2 Simple regression 2 08:15-10:15 Thursday, 04/03/2021 | ||
+ | -- -- Tuesday, 09/03/2021 | ||
+ | -- -- Wednesday, 10/03/2021 | ||
+ | 3 Python + Numpy + Bias/Variance 3 15:15-19:15 Wednesday, 10/03/2021 | ||
+ | 2 Simple regression 2 08:15-10:15 Thursday, 11/03/2021 | ||
+ | -- -- Tuesday, 16/03/2021 | ||
+ | -- -- Wednesday, 17/03/2021 | ||
+ | 3 Multivariate regression 3 15:15-19:15 Wednesday, 17/03/2021 | ||
+ | 2 Multivariate regression 2 08:15-10:15 Thursday, 18/03/2021 | ||
+ | -- -- Tuesday, 23/03/2021 | ||
+ | -- -- Wednesday, 24/03/2021 | ||
+ | 3 Multivariae Linear Regression Laboratory 3 15:15-19:15 Wednesday, 24/03/2021 | ||
+ | 2 Generalized linear regression 2 08:15-10:15 Thursday, 25/03/2021 | ||
+ | -- -- Tuesday, 30/03/2021 | ||
+ | -- -- Wednesday, 31/03/2021 | ||
+ | 3 Feature selection 3 15:15-19:15 Wednesday, 31/03/2021 | ||
+ | 2 Lasso 2 08:15-10:15 Thursday, 01/04/2021 | ||
+ | Vacanza -- Tuesday, 06/04/2021 | ||
+ | -- -- Wednesday, 07/04/2021 | ||
+ | 3 Generalized linear regression and feature selection 3 15:15-19:15 | ||
+ | 2 Classification KNN e Logistic regression 2 08:15-10:15 Thursday, 08/04/2021 | ||
+ | -- -- Tuesday, 13/04/2021 | ||
+ | -- -- Wednesday, 14/04/2021 | ||
+ | 3 Logistic regression 3 15:15-19:15 | ||
+ | 2 Linear discriminant analysis 2 08:15-10:15 Thursday, 15/04/2021 | ||
+ | -- -- Tuesday, 20/04/2021 | ||
+ | Prove Itinere -- Wednesday, 22/04/2020 | ||
+ | 15:15-19:15 | ||
+ | Prove Itinere 08:15-10:15 Thursday, 23/04/2020 | ||
+ | -- -- Tuesday, 27/04/2021 | ||
+ | Appello Laurea -- Wednesday, 28/04/2021 | ||
+ | 15:15-19:15 | ||
+ | 2 Evaluation methods for classification 2 08:15-10:15 Thursday, 29/04/2021 | ||
+ | -- -- Tuesday, 04/05/2021 | ||
+ | -- -- Wednesday, 05/05/2021 | ||
+ | 3 Logistic Regression, and LDA Laboratory 3 15:15-19:15 | ||
+ | 2 Perceptron 2 08:15-10:15 Thursday, 06/05/2021 | ||
+ | -- -- Tuesday, 11/05/2021 | ||
+ | -- -- Wednesday, 12/05/2021 | ||
+ | 3 SVM 3 15:15-19:15 | ||
+ | 2 Introduction to Unsupervised 2 08:15-10:15 Thursday, 13/05/2021 | ||
+ | -- -- Tuesday, 18/05/2021 | ||
+ | -- -- Wednesday, 19/05/2021 | ||
+ | 3 SVM and Classifiers Evaluation Laboratory 3 15:15-19:15 | ||
+ | 2 Clustering 2 08:15-10:15 Thursday, 20/05/2021 | ||
+ | -- -- Tuesday, 25/05/2021 | ||
+ | -- -- Wednesday, 26/05/2021 | ||
+ | 3 Clustering Laboratory 3 15:15-19:15 | ||
+ | 2 Clustering 2 08:15-10:15 Thursday, 27/05/2021 | ||
+ | -- -- Tuesday, 01/06/2021 | ||
+ | -- Wednesday, 02/06/2021 | ||
+ | 15:15-19:15 | ||
+ | 2 Principal component analysis 2 08:15-10:15 Thursday, 03/06/2021 | ||
+ | <!-- | ||
{| border="1" align="center" style="text-align:center;" | {| border="1" align="center" style="text-align:center;" | ||
|- | |- | ||
Line 105: | Line 184: | ||
|04/06/2020 || Thursday || 08:15 - 10:15 || Teams Virtual Class || Theory || Matteo Matteucci || [https://web.microsoftstream.com/video/f58132ba-afd3-47ce-89c8-ba16782d8f37 Principal Component Analysis] (Ch. 10 ISL) | |04/06/2020 || Thursday || 08:15 - 10:15 || Teams Virtual Class || Theory || Matteo Matteucci || [https://web.microsoftstream.com/video/f58132ba-afd3-47ce-89c8-ba16782d8f37 Principal Component Analysis] (Ch. 10 ISL) | ||
|} | |} | ||
+ | --> | ||
<!-- | <!-- | ||
|- | |- |
Revision as of 01:18, 24 February 2021
The following are last-minute news you should be aware of ;-)
* 24/02/2021: Lectures start today
Contents
Course Aim & Organization
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 a general-purpose programming language (i.e., python).
The course presents the classical supervised and unsupervised learning paradigms described and discussed presenting regression, classification, and clustering problems in Bioinformatics. The course is composed of a set of lectures on specific machine learning techniques (e.g., generalized linear regression, logistic regression, linear and quadratic discriminant analysis, support vector machines, k-nearest-neighborhood, clustering, etc.) preceded by the introduction of the Statistical Learning framework which acts as a common reference framework for the entire course.
Teachers
The course is composed of a blending of lectures and exercises by the course teacher and a teaching assistant.
- Matteo Matteucci: the course teacher and here it is his webex room
- Marco Cannici: the teaching assistant and here it is his webex room
Course Program
The course mostly follows the following book which is also available for download in pdf
- An Introduction to Statistical Learning with Applications in R by Gareth James, Daniela Witten, Trevor Hastie, and Robert Tibshirani
The course lectures will present the theory and practice of the following:
- Machine Learning and Pattern Classification: the general concepts of Machine Learning and Pattern Recognition are introduced within the framework of Statistical Decision Theory with reference to the bias-variance trade-off 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.
Detailed course schedule
A detailed schedule of the course can be found here; topics are just indicative while days and teachers are correct up to some last-minute change (I will notify you by email). Please note that not all days we have lectures!!
Note: Lecture timetable interpretation * On Wednesday, in room B.6.1, starts at 14:15 (cum tempore), ends at 18:15 * On Thursday, in room B.6.1, starts at 08:15 (cum tempore), ends at 10:15
Date | Day | Time | Room | Teacher | Type | Topic | 24/02/2021 | Wednesday | 15:15-19:15 | B.6.1 | Matteo Matteucci | Lecture | Course Intro + Machine Learning Intro | 25/02/2021 | Thursday | 08:15-10:15 | B.6.1 | Matteo Matteucci | Lecture | Statistical Learning Theory | 03/03/2021 | Wednesday | 15:15-19:15 | B.6.1 | Matteo Matteucci | Lecture | Statistical Learning Theory | 04/03/2021 | Thursday | 08:15-10:15 | B.6.1 | Matteo Matteucci | Lecture | Introduction to Linear Algebra | 03/03/2021 | Wednesday | 15:15-19:15 | B.6.1 | Matteo Matteucci | Lecture | Statistical Learning Theory | 03/03/2021 | Thursday | 08:15-10:15 | B.6.1 | Matteo Matteucci | Lecture | Introduction to Linear Algebra |
} -- -- Wednesday, 03/03/2021 3 Statistical machine learning 3 15:15-19:15 Wednesday, 03/03/2021 2 Simple regression 2 08:15-10:15 Thursday, 04/03/2021 -- -- Tuesday, 09/03/2021 -- -- Wednesday, 10/03/2021 3 Python + Numpy + Bias/Variance 3 15:15-19:15 Wednesday, 10/03/2021 2 Simple regression 2 08:15-10:15 Thursday, 11/03/2021 -- -- Tuesday, 16/03/2021 -- -- Wednesday, 17/03/2021 3 Multivariate regression 3 15:15-19:15 Wednesday, 17/03/2021 2 Multivariate regression 2 08:15-10:15 Thursday, 18/03/2021 -- -- Tuesday, 23/03/2021 -- -- Wednesday, 24/03/2021 3 Multivariae Linear Regression Laboratory 3 15:15-19:15 Wednesday, 24/03/2021 2 Generalized linear regression 2 08:15-10:15 Thursday, 25/03/2021 -- -- Tuesday, 30/03/2021 -- -- Wednesday, 31/03/2021 3 Feature selection 3 15:15-19:15 Wednesday, 31/03/2021 2 Lasso 2 08:15-10:15 Thursday, 01/04/2021 Vacanza -- Tuesday, 06/04/2021 -- -- Wednesday, 07/04/2021 3 Generalized linear regression and feature selection 3 15:15-19:15 2 Classification KNN e Logistic regression 2 08:15-10:15 Thursday, 08/04/2021 -- -- Tuesday, 13/04/2021 -- -- Wednesday, 14/04/2021 3 Logistic regression 3 15:15-19:15 2 Linear discriminant analysis 2 08:15-10:15 Thursday, 15/04/2021 -- -- Tuesday, 20/04/2021 Prove Itinere -- Wednesday, 22/04/2020 15:15-19:15 Prove Itinere 08:15-10:15 Thursday, 23/04/2020 -- -- Tuesday, 27/04/2021 Appello Laurea -- Wednesday, 28/04/2021 15:15-19:15 2 Evaluation methods for classification 2 08:15-10:15 Thursday, 29/04/2021 -- -- Tuesday, 04/05/2021 -- -- Wednesday, 05/05/2021 3 Logistic Regression, and LDA Laboratory 3 15:15-19:15 2 Perceptron 2 08:15-10:15 Thursday, 06/05/2021 -- -- Tuesday, 11/05/2021 -- -- Wednesday, 12/05/2021 3 SVM 3 15:15-19:15 2 Introduction to Unsupervised 2 08:15-10:15 Thursday, 13/05/2021 -- -- Tuesday, 18/05/2021 -- -- Wednesday, 19/05/2021 3 SVM and Classifiers Evaluation Laboratory 3 15:15-19:15 2 Clustering 2 08:15-10:15 Thursday, 20/05/2021 -- -- Tuesday, 25/05/2021 -- -- Wednesday, 26/05/2021 3 Clustering Laboratory 3 15:15-19:15 2 Clustering 2 08:15-10:15 Thursday, 27/05/2021 -- -- Tuesday, 01/06/2021 -- Wednesday, 02/06/2021 15:15-19:15 2 Principal component analysis 2 08:15-10:15 Thursday, 03/06/2021 Chapters are intended as complete except for
Course EvaluationThe course evaluation is composed by two parts:
the final score will be the sum of HW (not compulsory) and WE scores. Due to the COVID-19 situation the written exam for the 2019/2020 edition has been turned into an oral examination:
Teaching Material (the textbook)Lectures will be based on material taken from the book.
If you are interested in a more deep treatment of the topics you can refer to the following book from the same authors
Some additional material that could be used to prepare the oral examination will be provided together with the past homeworks. Teacher SlidesIn the following you can find the lecture slides used by the teacher and the teaching assistants during classes. Lectures:
Laboratories:
Additional ResourcesPapers and links useful to integrate the textbook
Online ResourcesThe following are links to online sources which might be useful to complement the material above
|