Pattern Analysis and Machine Intelligence
From Chrome
The following are last minute news you should be aware of ;-)
23/09/2014: Scores from the 15/09/2014 written exam including the Homeworks are published here!! 24/07/2014: Scores from the 30/06/2014 written exam including the Homeworks are published here!! 21/03/2014: Scores from the 20/02/2014 written exam including the Homeworks are published here!! 18/02/2014: Scores from the 06/02/2014 written exam including the Homeworks are published here!! 17/02/2014: Scores from the 06/02/2014 written exam are published here ... in hours you will get homeworks as well!! 04/01/2014: The third homework for the 2013-2014 course edition has been published! 01/01/2014: Happy new year!!! 29/11/2013: The second homework for the 2013-2014 course edition has been published! 21/11/2013: Tomorrow, 22/11/2013, the lecture will be in room 4.1 09/11/2013: New change of classroom ... all lectures will be in V.08 Update to the detailed schedule (swap between 06/12 and 13/12 teachers) 28/10/2013: The first homework for the 2013-2014 course edition has been published! 25/10/2013: new change in the classrooms! Monday in V.08 and Friday in V2.12 14/10/2013: small change in the detailed schedule of the lectures 11/10/2013: change of classroom due to limited space from V08 to VS9 08/10/2013: final grades for the 20/09/2013 exam 07/10/2013: a new edition of the course starts today!
Contents |
Course Aim & Organization
The objective of this course is to give an advanced presentation of the techniques most used in artificial intelligence and machine learning for pattern recognition, knowledge discovery, and data analysis/modeling.
Teachers
The course is composed by a blending of lectures and exercises by the course teacher and some teaching assistants.
- Matteo Matteucci: the course teacher
- Luigi Malago': the teaching assistant on regression
- Davide Eynard: the teaching assistant on clustering
Course Program
Techniques from machine and statistical learning are presented from a theoretical (i.e., statistics and information theory) and practical perspective through the descriptions of algorithms, the theory behind them, their implementation issues, and few examples from real applications. The course follows, at least partially, the outline of The Elements of Statistical Learning book (by Trevor Hastie, Robert Tibshirani, and Jerome Friedman):
- Machine Learning and Pattern Classification: in this part of the course the general concepts of Machine Learning and Patter Recognition are introduced with a brief review of statistics and information theory;
- Unsupervised Learning Techniques: the most common approaches to unsupervised learning are described mostly focusing on clustering techniques, rule induction, Bayesian networks and density estimators using mixure models;
- Supervised Learning Techniques: in this part of the course the most common techniques for Supervised Learning are described: decision trees, decision rules, Bayesian classifiers, hidden markov models, lazy learners, etc.
- Feature Selection and Reduction: techniques for data rediction and feature selection will be presented with theory and applications
- Model Validation and Selection: model validation and selection are orthogonal issues to previous technique; during the course the fundamentals are described and discussed (e.g., AIC, BIC, cross-validation, etc. ).
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 Mondays lectures start at 13:15 SHARP * On Fridays lectures start at 10:30 (quarto d'ora accademico)
Date | Day | Time | Room | Teacher | Topic |
07/10/2013 | Monday | 13:15 - 15:00 | V08 | Matteo Matteucci | Course Introduction (Ch. 1) |
11/10/2013 | Friday | 10:30 - 13:15 | VS9 | Matteo Matteucci | Two examples from classification + probability review(Ch. 2) |
14/10/2013 | Monday | 13:15 - 15:00 | VS9 | Matteo Matteucci | Statistical Decision Theory and Bias-Variance trade off. The Bayes classifier (Ch. 2) |
18/10/2013 | Friday | 10:30 - 13:15 | VS9 | Matteo Matteucci | Discriminating functions, decision boundary (Ch.4.1, Ch. 4.2) |
21/10/2013 | Monday | 13:15 - 15:00 | VS9 | Matteo Matteucci | Linear Regression on the Indicator Matrix (Ch. 4.3) |
25/10/2013 | Friday | 10:30 - 13:15 | VS9 | Matteo Matteucci | Linear Discriminant Analysis (Ch. 4.3) |
28/10/2013 | Monday | 13:15 - 15:00 | V08 | Matteo Matteucci | Regularized Linear Discriminant Analysis, LDA in the (K-1) subspace (Ch. 4.3) |
04/11/2013 | Monday | 13:15 - 15:15 | V08 | Matteo Matteucci | Fisher Projection - Logistic Regression (Ch. 4.4) |
08/11/2013 | Friday | 10:30 - 13:15 | V08 | Matteo Matteucci | Logistic Regression (Ch. 4.4) |
11/11/2013 | Monday | 13:15 - 15:00 | V08 | Luigi Malagò | Linear Regression Methods (Ch. 2, Ch. 3, (*)) |
15/11/2013 | Friday | 10:30 - 13:15 | V08 | Luigi Malagò | Linear Regression Methods (Ch. 2, Ch. 3, (*)) |
18/11/2013 | Monday | 13:15 - 15:00 | V08 | Luigi Malagò | Linear Regression Methods (Ch. 2, Ch. 3, (*)) |
22/11/2013 | Friday | 10:30 - 13:15 | 4.1 | Luigi Malagò | Linear Regression Methods (Ch. 2, Ch. 3, (*)) |
25/11/2013 | Monday | 13:15 - 15:00 | V08 | Davide Eynard | Clustering I: Introduction and K-Means |
29/11/2013 | Friday | 10:30 - 13:15 | V08 | Davide Eynard | Clustering II: K-Means Alternatives, Hierarchical, SOM |
02/12/2013 | Monday | 13:15 - 15:00 | V08 | Davide Eynard | Clustering III: Mixture of Gaussians, DBSCAN, Jarvis-Patrick |
06/12/2013 | Friday | 10:30 - 13:15 | V08 | Matteo Matteucci | Perceptron Learning and Maximum Margin Classifiers (Ch.4.5.2) |
13/12/2013 | Friday | 10:30 - 13:15 | V08 | Davide Eynard | Clustering IV: Spectral Clustering and Evaluation Measures |
16/12/2013 | Monday | 13:15 - 15:00 | V08 | Matteo Matteucci | Support Vector Marchines (Ch.12.1, 12.2, 12.3) |
20/12/2013 | Friday | 10:30 - 13:15 | V08 | Matteo Matteucci | Kernel Smoothing (Ch.6.1) and Kernel Density Estimation (Ch.6.6, Ch.6.9) |
(*) With respect to following version of the book PDF file of book (10th printing with corrections, Jan 2013)
- Chapter 2 is a good introductory chapter.
- in particular refer to 2.3.1 for an introduction to least squares
- section 2.4 for an introduction to statistical decision theory
- section 2.5 for an example and 2.9 for a discussion about bias and variance decomposition of prediction error
- section 2.8 for introduction to restricted (penalized) estimators
- Chapter 3 is the most important chapter for linear regression
- 3.1
- 3.2 (you can skip confidence internals for \beta, but study the Z-scores)
- 3.2.2 the proof is not requires, the statement of the theorem is important
- 3.2.3 you can skip the regression by successive orthogonalizations, however dont skip the first part of the section
- 3.2.4 skip this section
- 3.3 very important
- 3.4 very important (i will not ask the formulas for the degrees of freedom of ridge and lasso)
- 3.5 you can skip this
- 3.6 take a look
- 3.7 you can skip this
- 3.8 take a look, you can skip 3.8.3 to 3.8.6
- 3.9 take a look
- As to the paper Least Angle Regression take a look at section 1 to 3
Course Evaluation
The course evaluation is composed by two parts:
- A homework with exercises covering the whole program that counts for 30% of the course grade
- A written examination covering the whole program that count for 70% of the course grade
The homework is just one per year, it will be published at the end of the course and you will have 15 days to turn it in. It is not mandatory, however if you do not turn it in you loose 30% of the course grade. There is the option of repeat the homework after the end of the course, but this has to be discussed and agreed with the course professor.
Teaching Material (the textbook)
Lectures will be based on material taken from the aforementioned slides and from the following book.
- The Elements of Statistical Learning: Data Mining, Inference, and Prediction. by Trevor Hastie, Robert Tibshirani, and Jerome Friedman.
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:
- Course introduction: introductory slides of the course with useful information about the grading, and the course logistics. Some examples from supervised learning and two algorithms for classification (taken from The Elements of Statistical Learning book).
- Probability Basics: Slides on probability basics used to introduce Statistical Decision Theory.
- Model Selection: slides presenting images, tables and examples about model selection (taken from The Elements of Statistical Learning book).
- Linear Classification Examples: slides presenting images, tables and examples about (generalized) linear methods for classification (taken from The Elements of Statistical Learning book).
- Kernel Smoothing Examples: slides presenting images, tables and examples about Kernel Smoothing, Kernel Density Estimation and Gaussian Mixture Models (taken from The Elements of Statistical Learning book).
- Support Vector Machines: these slides have been used to present Support Vector Machines (taken from The Elements of Statistical Learning book).
Additional Papers
Papers used to integrate the textbook
- Bradley Efron, Trevor Hastie, Iain Johnstone and Robert Tibshirani, Least Angle Regression Annals of Statistics (with discussion) (2004) 32(2), 407-499.
- Burges, Christopher J. C., 1998. A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery, 2(2), 121–167.
- ...
Clustering Slides
These are the slides used to present clustering algorithms during lectures
Past Exams and Sample Questions
These are the text of past exams to give and idea on what to expect during the class exam:
- 20/09/2013 Exam
- 10/09/2013 Exam
- 26/07/2013 Exam
- 11/07/2013 Exam
- 29/01/2013 Exam
- 19/09/2012 Exam
- 04/09/2012 Exam
- 10/07/2012 Exam
- 26/06/2012 Exam
- 03/02/2012 Exam
- 19/09/2011 Exam
- 08/09/2011 Exam
- 15/07/2011 Exam
- 29/06/2011 Exam
Online Resources
The following are links to online sources which might be useful to complement the material above
- 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)
2013-2014 Homework
The 2013 Homework (alike the 2012 one) is organized as an octave series of tutorials. You are requested to go through the tutorials and practice with the algorithms that have been presented in class. To prove us you have done it and that you have understood the code you will be requested to solve few exercises and provide us a pdf report by email
Part 1: Linear Classification Methods
- Homework 2013-2014 on Classification: this is the text of the first part of the homework; it has been intentionally edited not to allow cut and paste. This part of the homework will contribute to the 10% of the grade and the deadline to submit the solution by Sunday 17/11 23:59
- SAheart.data: the dataset used for the homework
- SAheart.info: the dataset used for the homework
Note 1: Submit the solution by loading it on www.dropitto.me/matteucci (pwd is dropittome)
Note 2: please name your pdf as pami_SURNAME_STUDENTID_classification.pdf; if you submit a homework for different people, please pick one of the names for the file but PUT ALL THE NAMES IN THE COVER PAGE!!
Part 2: Regression
- Homework 2013-2014 Regression: this is the text of the second part of the homework; it has been intentionally edited not to allow cut and paste. This part of the homework will contribute to the 10% of the grade and the deadline to submit the solution by email to malago@di.unimi.it (cc to matteo.matteucci@polimi.it) is Friday 20/12 23:59
- prostate.data: the dataset used for the homework
- prostate.info: the dataset used for the homework
- diabete.mat: the dataset used for the homework
- textread.m: (optional) function which might be useful depending on your octave version
- strread.m: (optional) function which might be useful depending on your octave version
For any question or doubt please sen us an email as soon as possible.
Note 1: for some strange reason the CSM of the website has decided to rename the files with capitals, please save them in lower case :-(
Note 2: rename the file Diabete.data into diabete.mat ... still fighting with the CSM :-)
Note 3: the code has been tested with octave under linux, we suggest to use it not to spend too much time with installing it under windows or using matlab. If you do not have linux installed, try using a live CD as the ubuntu 13.04 live distro ;-)
Part 3: Clustering
The code and the text of the third part of the homework are available online at this post
As usual, this part of the homework will contribute to the 10% of the grade; the deadline to submit the solution is the end of the course. You have to send it to davide.eynard_at_gmail.com Friday 24/01 23:59.
Note 1: for any doubt or question send an email, as soon as possible, to Davide Eynard so to have a prompt reply and not get stuck during homework execution.
Note 2: you have to turn in only the solution of "Ocatave clustering demo part 6", while the other parts can be used as reference to improve your understanding in basic clustering algorithms.