SGN-41007 Pattern Recognition and Machine Learning

What's new?


There are two lectures every week (total 14 lectures: first time 8.1.2017, last time 21.2.2017):

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

  1. Monday 8.1.2018: Course organization, Introduction to Python. [slides] [video pt 1, video pt 2]
  2. Wednesday 10.1.2018: Estimation Theory. [slides] [video]
  3. Monday 15.1.2018: Estimation Theory. Detection Theory. [video]
  4. Wednesday 17.1.2018: Detection Theory. ROC and AUC. [slides] [video]
  5. Monday 22.1.2018: Classification. K-NN classifier. Using Scikit-learn. [slides] [video]
  6. Wednesday 24.1.2018: Linear Classifiers. The LDA and the SVM. Kernel trick for the SVM. Logistic Regression.[video]
  7. Monday 29.1.2018: Random Forest. Other ensemble methods in sklearn: ExtraTreesClassifier, AdaBoostClassifier and GradientBoostingClassifier. [slides] [video]
  8. Wednesday 31.1.2018: Neural networks. [slides] [video]
  9. Monday 5.2.2018: Convolutional networks and deep learning. [video]
  10. Wednesday 7.2.2018: Convolutional networks, Recurrent nets. [slides] [video]
  11. Monday 12.2.2018: Convolutional networks, Recurrent nets. [video]
  12. Wednesday 14.2.2018:Performance assessment: Cross-validation, leave-one-out, etc.[slides] [video]
  13. Monday 19.2.2018: Regularization, feature selection. [video]
  14. Wednesday 21.2.2018: Prep for exam (check this old exam from 2017). Visiting lectures from Dain Studios and Futurice. [video]


Exercises will appear here, and sessions are once every week. First exercises will be held on 15.1.2018, but a Moodle exercise set is already due on 10.1.

  1. Exercise 8.1. - 10.1.: Three Python tasks at course moodle page ( Return by noon at 10.1. at the latest. Solutions shown on the Wednesday lecture.
  2. Exercise 15.1. - 19.1.: Questions.
  3. Exercise 22.1. - 26.1.: Questions.
  4. Exercise 29.1. - 2.2.: Questions.
  5. Exercise 5.2. - 9.2.: Questions. (Coefficient C accidentally missing from the question 2).
  6. Exercise 11.2 - 15.2.: Questions.
  7. Exercise 18.2 - 22.2.: Questions.

Exercise scores here.

There are 10 exercise groups, of which you choose one.

Registration for the groups is required. Registration ends in POP on Jan 15th at 12: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 defined later during the course. However, this is know at the moment:

To Pass

The following are required to pass the course:

Additional Material



Teacher: Heikki Huttunen.