Course syllabus

Welcome to the course pages for EDAN96 - Applied Machine Learning! If you were looking for EDAN95, you have come to the right place. For PhD students, the course code is still EDAN95F.

General information

The course will start on Monday, October 30st, all places will be filled according to the rules regarding prerequisites and ranking (see official course plan in Swedish or English) as explained below.

Registration and admission information

2023-10-05 Course registration (registrering): LADOK will open for registration on October 23th. If you got a notification about a place, you must
** register by October 27th and
** solve the Lab instruction quiz by November 2nd.

2023-09-28: Tentative registration (anmälan). LADOK will open for tentative registration (anmälan) to the course on September 11 and close on September 26. Note that prospective participants will be evaluated against two criteria before being admitted: You need to have fulfilled the prerequisites (see official course plan here) and you will then be ranked according to the number of credits you have been granted within the program you are applying through, including credited (tillgodoräknade) credit-pointsCut-off date for credits to be taken into account is Tuesday, October 3rd. Only credits formally registered in LADOK by that date will be considered. Note also, that this course has been very different from other courses regarding rules for registration and for what to do to keep an offered seat, due to the high interest clashing with limited capacities. Once pre-registered, monitor your e-mail including the spam-folder! Last year, we were, in the end, able to offer all LTH-students who fulfilled the prerequisites a seat.

If you want to re-register (omregistrera) to finish pending parts of the course / retake the entire course, contact administration for the formal registration and the course responsible (Maj Stenmark or Elin A. Topp) personally. Your seat is safe, but we need you on the list ;-)

To avoid surprises and unnecessary work load for you or me shortly before the course starts in late October, please check the official course plan for the criteria against your prerequisites. THANK YOU!


Registration information for PhD students (EDAN95F):

2023-09-28: As announced in LTH's list of available graduate courses, the deadline for applying to the course is September 30st for this year.


General policy for course sessions:

HT2023: Lectures will be held on campus, however, we will most likely adopt a hybrid solution for contact with TAs in office hours, as well as exercise / lab sessions, which will then be handled partly in Discord in addition to physical meetings in the computer labs. We will use Canvas as the overall course platform to distribute information and course material as well as to give you a platform for discussion with teachers and peers. 


If you have enlisted yourself (anmäld), you will receive an e-mail with detailed information shortly after the period for enlisting closes.

IMPORTANT: You will have to actively show your interest to keep a place in the course once it is offered to you or to stay on the waiting list. WATCH OUT for respective e-mails!

For previous course runs, you can have a look at the old course home page or the HT2022 syllabus page here in Canvas.

Master thesis projects

can be found in connection to the RSS (Robotics and Semantic Systems) division, which includes also the ML research group.

Remote attendance:

Lectures will be held on campus, contact with teachers and TAs in exercise / lab sessions will be mostly handled in computer rooms (default) but with an online option (for you who should avoid public spaces, not only Covid-19 is nasty) in a respective Discord server. The Discord server will also be available 24/7 for you to discuss with your peers, and will be used for the only online "office hours / extra periods (resurstider)". 

In addition, we will use this platform (Canvas) as the overall course platform to distribute information and course material - and of course it also offers opportunity for discussions with your peers.


Sessions and assignments: The course has 14 lectures, 5 programming assignments (labs) that should be worked on in pairs, and 3 individual homework assignments (reports).

Modules: The course has 5 Canvas modules, grouping related lectures and assignments, with the first one containing also general information and preparation / recap material (an intro to Python (book chapter), a Python tutorial (Jupyter notebook), a "Lab 0" exercise, and a pre-recorded video "Lecture 1.5" with a recap on linear algebra).

Lectures will be held by four teachers, Maj Stenmark (course responsible, MS), Elin A. Topp (also has rights as course responsible, EAT), Pierre Nugues (PN) and Leonard Papenmeier (LP).

Teaching assistants: For the lab sessions and to support you in general with the course material, we have several TAs.

Contact information and office hours for teachers and TAs can be found here.

Examination: If you are registered or re-registered for course instances HT2019 and later, fulfilling all assignments (programming assignments in pairs, homework assignments individually) will give the full course credits (7.5 ECTS) and a passing grade "3", as well as allow you to take the optional exam, with which it is then possible to get a higher grade ("4", or "5"). Fulfilling respectively marked (more complex) parts of assignments can generate bonus points for the exam.
If you are re-registered for course instance HT2018, fulfilling all programming assignments (in pairs) will give a part of the course credits (4.5 ECTS). To pass the entire course (7.5 ECTS) you need to also pass the exam. The grade achieved in the exam holds then for the entire course (grade scale "U/3,4,5,").
If you are a PhD student registered for the course, fulfilling all assignments including potential extra parts (programming assignments in small groups including discussing them in a seminar session (upon agreement), homework assignments individually) will give the full course credits (7.5 ECTS) and a passing grade (G for "godkänd / passed") on the U/G scale. 

Overview over the course events per course / calendar week (will be updated continuously):

week / cw Lectures (topics)

Programming assignments (Labs)

Homework announced Homework due
1 / 44 30/10: Introduction (MS)
1/11: Intro to Numpy / Linear Algebra in ML (PN)

3/11: Python for ML, Dataset format

30/10: Homework 1: Report on Lab 1
2 / 45 6/11: Probability review (MS)
8/11: Basic concepts in ML (MS)

10/11: Probability review

3 / 46 13/11: Information theory (LP)
15/11: Logistic regression (PN)

17/11: Information theory

16/11: Homework  1
4 / 47

20/11: MLP / FF networks (PN)
22/11: Gradient descent (PN)

24/11: Classification (support)

1/12: Classification (assessment)

5 / 48

27/11: PCA (MS)

29/11: SVMs (MS) 

15/11: Homework 2: Report Lab 4


6 / 49

4/12: Decision trees (EAT) 

6/12: Decision trees cont'd, + ensemble methods (EAT)

8/12: Regression (support)

15/12: Regression (assessment)

2/12: Homework 3: Report Lab 5  
7 / 50

11/12: Bayesian classifiers / learning + Unsupervised methods (EAT)
13/12: Wrap-up (MS)

11/12: Homework 2

8 / 51



18/12: Homework 3


Course summary:

Date Details Due