Introduction to Machine Learning

Algorithms and machine learning
Advanced studies
Basic concepts and methods of machine learning, in theory and in practice. Supervised learning (classification, regression) and unsupervised learning (clustering). The course serves as preparation for various courses on data analysis, machine learning and bioinformatics. Course book: Course book: An Introduction to Statistical Learning with Applications in R, Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani, Springer, 2013.


16.12.2015 09.00 B123 ja CK112
Year Semester Date Period Language In charge
2015 autumn 27.10-11.12. 2-2 English Jyrki Kivinen


Time Room Lecturer Date
Tue 10-12 CK112 Jyrki Kivinen 27.10.2015-11.12.2015
Fri 10-12 B123 Jyrki Kivinen 30.10.2015-30.10.2015
Fri 10-12 CK112 Jyrki Kivinen 06.11.2015-27.11.2015
Fri 10-12 B123 Jyrki Kivinen 04.12.2015-04.12.2015
Fri 10-12 CK112 Jyrki Kivinen 11.12.2015-11.12.2015

Exercise groups

Group: 1
Time Room Instructor Date Observe
Thu 14-16 C222 Johannes Verwijnen 02.11.2015—11.12.2015

Registration for this course starts on Tuesday October 6th at 9.00. There is additional guidance for Python on Tue October 27th at 12-16 in B221.

Information for international students

The course is taught in English.


The course will cover the basics of machine learning. The course consists of lectures, homework exercises and a course examination.

Machine learning employs a lot of concepts and techniques from mathematics. Students are expected to know the basics of probability theory, linear algebra and calculus. For this course we do not need any advanced techniques, but a general familiarity with mathematical manipulations will make the course easier.

A significant proportion of the exercises will require the use of computer to implement machine learning algorithms and experiment with them. Completing the exercises will in practice require using a programming environment with good support for mathematics and visualisation. The recommended environment, for which the course assistants offer supports, is Python with appropriate libraries. During the first week, there will be some instruction in their use (see below for details).  It is assumed that all students already have fairly good skills in computer programming in general.


Latest information

The Autumn 2015 course is over:

  • Course exam: problems, solutions and grading guidelines
  • The grading of the exam is now done, and you should soon be able to see your credit for the course in your transcript.  If you have any questions about the exam, please send e-mail to the lecturer.
  • The lecturer's summary and reply to student feedback wull appear here shortly.

For information about separate examination, see the Examinations tab.  The information below is about the lecture course in Autumn 2015, but the reading materials etc. are the same for separate exams as for the course.

Course materials

The course will be based on the book

The author of the textbook has made a full set of lecture slides available on his web site.

The lecturer (JK) will have his own set of slides for use during the lectures.  These slides will appear on this web page.

  • lecturer's slides:  the whole set is now available
  • some additional slides about Bayes optimality which may be helpful for exercise set 4
  • summary trying to set the topics covered during the course into a context (to be discussed briefly on the last lecture)

A brief summary of each week's lectures will be provided under a separate tab.

Although the course follows the textbook, the lectures will cover some topics in more detail than the book.  In particular, this is the case for some material needed for homework.  On the other hand, we will not have time to cover all parts of the textbook.  The exams will be based on all material presented at lectures and homework exercises, and the corresponding parts of the textbook.

The course homework will include computer exercises.  You don't have to use any specific programming language etc. (ask the course assistant about which choices are allowed), but the recommended language in which the course staff offers support is Python.  There will be an instruction session in Python during the first week of teaching, and we recommend that you attend if you are not familiar with Python already.  However this is entirely voluntary.

Material related to homework will be collected under a separate tab.

Completing the course

See the tab Course examination for more information.

Grading will be based on points from homework (40%) and course examination (60%).  To pass the course, you must get at least 50% of the points available from homework and 50% of the points available from the exam.  Grade 5/5 will require about 85% of maximum.

It is also possible to pass the course by taking a separate examination, which will be held following the usual schedule.  The next separate examination will be in early in 2016 (currently scheduled for 2 February).

If you have passed the minimum homework requirement for this Autumn's course but missed the course examination or are not satisified with your score, you can try to improve your grade by going to the separate examination.  Your grade will be based on homework (40%) and exam (60%) as with the regular course examination.

If you are not participating on this Autumn's course, or fail to get at least 50% of homework points, you may take the separate examination but must additionally complete a small programming project.  Details will appear here later, but basically the project will consist of a couple of tasks similar to the programming problems in homework.  In this option, the exam will be 80% of grade and the project 20%.