SGN-41007 Pattern Recognition and Machine Learning

What's new?


Most of the material is collected in our GitHub repo.


There are two lectures every week (total 14 lectures: first time 10.1.2017, last time 24.2.2017):

A video recording of each lecture will be provided below. Links to slides and videos appear after each lecture.

  1. Tuesday 10.1.2017: Course organization, Introduction to Python. [Video]
  2. Friday 13.1.2017: Estimation Theory. [Video]
  3. Tuesday 17.1.2017: Estimation Theory. Detection Theory. [Video]
  4. Friday 20.1.2017: Detection Theory. ROC and AUC. [Video]
  5. Tuesday 24.1.2017: Classification. K-NN classifier. Using Scikit-learn. [Video]
  6. Friday 27.1.2017: Linear Classifiers. The LDA and the SVM. Kernel trick for the SVM. Logistic Regression. [Video]
  7. Tuesday 31.1.2017: Random Forest. Other ensemble methods in sklearn: ExtraTreesClassifier, AdaBoostClassifier and GradientBoostingClassifier. [Video]
  8. Friday 3.2.2017: Neural networks. [Video]
  9. Monday 6.2: Convolutional networks and deep learning. [Video]
  10. Friday 10.2.2017: ConvNets, Recurrent nets. [Video]
  11. Tuesday 14.2.2017: Performance assessment: Cross-validation, leave-one-out, etc. [Video]
  12. Friday 17.2.2017: Regularization, feature selection. [Video]
  13. Tuesday 21.2.2017: Visiting lectures. Unsupervised methods (K-means, PCA). [Video]
  14. Friday 24.2.2017: Hyperparameter selection, application examples. [Video] Sorry for the problems with sound in the 1st hour (loudspeaker broke in the room).


  1. Exercises 11.1. - 13.1.2017.
  2. Exercises 18.1. - 20.1.2017.
  3. Exercises 25.1. - 27.1.2017.
  4. Exercises 30.1. - 3.2.2017.
  5. Exercises 8.2. - 10.2.2017.
  6. Exercises 15.2. - 17.2.2017.
  7. Exercises 22.2. - 24.2.2017.

Exercise scores can be seen here. They may not be up-to-date, as they are published manually.

There are 9 exercise groups, of which you choose one:

Note that one of the groups is at UTA campus and eight at TUT campus. All students can freely choose to register at any of these. Registration for the groups is required. Registration ends in POP on Jan 11th at 7:59 (1 min before first exercise group).

Exercises consist of theory and computer exercises. You can use the classroom computer or your own laptop. Installation of necessary software is straightforward: Anaconda Python distribution should contain all necessary packages.


Course requirements also include a programming assignment, which is organized as a competition. The exact requirements are described in this document. The deadline for returning the report is 10.3.2017 at 23:59.

To Pass

The following are required to pass the course:

Additional Material



Teacher: Heikki Huttunen.

          HTML 4.01 Transitional