Difference between revisions of "Machine Learning Bio"

From Chrome
Jump to: navigation, search
(Detailed course schedule)
(Teacher Slides)
Line 163: Line 163:
 
*[[Media:ML2020-lab04.zip | [2020] Material for the fourth lab session]]: some useful jupiter notebooks which will be used during the fourth lab session ([[Media:ML2020-lab04_solutions.zip |complete version]])
 
*[[Media:ML2020-lab04.zip | [2020] Material for the fourth lab session]]: some useful jupiter notebooks which will be used during the fourth lab session ([[Media:ML2020-lab04_solutions.zip |complete version]])
 
*[[Media:ML2020-lab05.zip | [2020] Material for the fifth lab session]]: some useful jupiter notebooks which will be used during the fourth lab session ([[Media:ML2020-lab05_solutions.zip |complete version]])
 
*[[Media:ML2020-lab05.zip | [2020] Material for the fifth lab session]]: some useful jupiter notebooks which will be used during the fourth lab session ([[Media:ML2020-lab05_solutions.zip |complete version]])
 +
*[[Media:ML2020-lab06.zip | [2020] Material for the sixth lab session]]: some useful jupiter notebooks which will be used during the fourth lab session ([[Media:ML2020-lab06_solutions.zip |complete version]])
 
<!--
 
<!--
 
* [[Media:ML-2016-03-AssessingModelAccuracy.pdf | [2016] Statistical Learning and Model Assessment]]: Model Assessment for Regression and Classification, Bias-Variance trade-off, Model complexity and overfitting, K-Nearest Neighbors Classifier vs. Bayes Classifier.
 
* [[Media:ML-2016-03-AssessingModelAccuracy.pdf | [2016] Statistical Learning and Model Assessment]]: Model Assessment for Regression and Classification, Bias-Variance trade-off, Model complexity and overfitting, K-Nearest Neighbors Classifier vs. Bayes Classifier.

Revision as of 08:31, 3 June 2020


The following are last-minute news you should be aware of ;-)

* 02/05/2020: Updated course schedule and added videos to the previous lectures
* 04/04/2020: Updated schedule and added videos of previous lectures
* 31/03/2020: Updated schedule and added material on linear algebra
* 19/03/2020: Added lab material, both with empty notebooks and final result
* 11/03/2020: Added today's lecture videos and planned next week schedule (To Be Completed)
* 11/03/2020: The course starts today!
* 03/03/2020: The course is going to start soon ...

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 course presents the classical supervised and unsupervised learning paradigms described and discussed presenting regression, classification, and clustering problems in Bioinformatics. The course is composed by 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 by a blending of lectures and exercises by the course teacher and a teaching assistant.

Course Program

The course mostly follows the following book which is also available for download in pdf

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 ..., starts at 014:15 (cum tempore), ends at 17:15 or 18:15
* On Thursday, in room ..., starts at 08:15 (cum tempore), ends at 10:15
Date Day Time Room Teacher Type Topic
11/03/2020 Wednesday 14:15 - 18:15 Teams Virtual Class Theory Matteo Matteucci Course Introduction, Introduction to Machine Learning, and Statistical Machine Learning (Ch. 1 ISL)
12/03/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Statistical Decision Theory and Bias-Variance trade off (Ch. 2 ISL)
18/03/2020 Wednesday 14:15 - 17:15 Teams Virtual Class Practice Marco Cannici Python + Numpy + Bias/Variance Laboratory
19/03/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Statistical Decision Theory and Bias-Variance trade off (continued) (Ch. 2 ISL)
25/03/2017 Wednesday 14:15 - 17:15 Teams Virtual Class Theory Matteo Matteucci Simple Linear Regression and Multivariate Linear Regression (Ch. 2 ISL + Ch. 3 ISL)
26/03/2017 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Multivariate Linear Regression (continued) (Ch. 2 ISL + Ch. 3 ISL)
01/04/2020 Wednesday 14:15 - 17:15 Teams Virtual Class Practice Marco Cannici Multivariae Linear Regression (Part 1) (Part 2) Laboratory
02/04/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Generalized Linear Regression (Ch. 2 ISL + Ch. 3 ISL)
08/04/2020 Wednesday 14:15 - 17:15 Teams Virtual Class Theory Matteo Matteucci Issues with Linear Regression and Generalized Linear Regression and Feature Selection (Ch. 3 + Ch. 6 ISL)
09/04/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Feature Selection (continued) (Ch. 3 + Ch. 6 ISL)
15/04/2020 Wednesday 14:15 - 17:15 Teams Virtual Class Practice Marco Cannici Generalized Linear Regression and Feature Selection (Part1) (Part 2) Laboratory
16/04/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Feature Selection (LASSO) (Ch. 3 + Ch. 6 ISL)
22/04/2020 Wednesday 14:15 - 17:15 Teams Virtual Class Theory Matteo Matteucci Classification by KNN (Part 1) and Logistic Regression (Part 2) (Ch. 4 ISL + Ch. 4 ESL)
23/04/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Classification by Logistic Regression (continued) (Ch. 4 ISL + Ch. 4 ESL)
29/04/2020 Wednesday 14:15 - 17:15 --- --- --- --- No Lecture (Laurea) ---
30/04/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Classification by Linear Discriminant Analysis (Ch. 4 ISL)
06/05/2020 Wednesday 14:15 - 17:15 Teams Virtual Class Practice Marco Cannici Classification via Logistic Regression, and LDA (Part 1) (Part 2) Laboratory
07/05/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Evaluation Methods for Classification
13/05/2020 Wednesday 14:15 - 17:15 Teams Virtual Class Theory Matteo Matteucci Perceptron Learning and Support Vector Machines (Ch. 4 ESL, Ch. 9 ISL, Ch. 12 ESL)
14/05/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Support Vector Machines and Kernel Trick (Ch. 4 ESL, Ch. 9 ISL, Ch. 12 ESL)
20/05/2020 Wednesday 14:15 - 17:15 Teams Virtual Class Practice Marco Cannici Classification (SVM and classifiers evaluation) Laboratory
21/05/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Introduction to Unsupervised Learning
27/05/2020 Wednesday 14:15 - 17:15 Teams Virtual Class Theory Matteo Matteucci Clustering
28/05/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci Clustering
03/06/2020 Wednesday 14:15 - 17:15 Teams Virtual Class Practice Marco Cannici Clustering Laboratory
04/06/2020 Thursday 08:15 - 10:15 Teams Virtual Class Theory Matteo Matteucci

Chapters are intended as complete except for

  • Ch.4 ESL: Section 4.5
  • Ch.12 ESL: Sections 12.1, 12.2, 12.3
  • Ch.9 ISL: Sections 9.1, 9.2, 9.3

Course Evaluation

The course evaluation is composed by two parts:

  • HW: Homework with exercises covering the whole program (up to 6 points)
  • WE: A written examination covering the whole program (up to 26 points)

the final score will be the sum of HW (not compulsory) and WE scores.

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 Slides

In the following you can find the lecture slides used by the teacher and the teaching assistants during classes.

Lectures:

  • [2020] Course introduction: introductory slides of the course with useful information about the grading, and the course logistics. Some examples from supervised and unsupervised learning. Regression, classification, clustering terminology and examples.
  • [2020] Statistical Learning Introduction: Statistical Learning definition, rationale, and trade-offs (e.g., prediction vs. inference, parametric vs non parametric models, flexibility vs. interpretability, etc.)
  • [2020] Linear Regression: Simple Linear Regression and Multiple Linear Regression. Generalized Linear models. Cross-validation techniques. Feature selection. Ridge Regression and Lasso.
  • [2020] Linear Classification: From Linear Regression to Logistic Regression. Linear Discriminant Analysis and Quadratic Discriminant Analysis. Comparison between linear classification methods. Discriminative vs. generative methods. Support Vector Machines.

Laboratories:

Additional Resources

Papers and links useful to integrate the textbook

  • Basic Linear Algebra: "Basic Linear Algebra" chapter from Wayne Winston book "Operations Research Applications and Algorithms (4th ed.)"
  • Bias vs. Variance: "Understanding the Bias-Variance Tradeoff" essay by Scott Fortmann-Roe
  • Karush Kuhn Tucker Conditions: a short note on their meaning with references to relevant wikipedia pages
  • Seeing Theory: a website where the basic concepts of probability and statistics are explained in a visual way.

Online Resources

The following are links to online sources which might be useful to complement the material above

  • Statistical Learning MOOC covering the entire ISL book offered by Trevor Hastie and Rob Tibshirani. Start anytime in self-paced mode.
  • MATH 574M University of Arizona Course on Statistical Machine Learning and Data Mining; here you can find slides covering part of the course topics (the reference book for this course is again The Elements of Statistical Learning)