Introduction
The course will introduce the foundations of learning and making predictions from data. We will study basic concepts such as trading goodness of fit and model complexity. We will discuss important machine learning algorithms used in practice and provide hands-on experience in a series of course projects. VVZ course information is available
here.
Access to the Lecture Materials
The lecture materials and the Q&A zoom meetings are password protected.
To obtain the password, you need to be inside the ETH network or use the ETH VPN and click
here.
Check
here for how to establish a VPN connection.
Lectures
Lectures are on Tuesdays and Wednesdays, 14:15 to 16:00, in ETA F5 with a simultaneous video screening in ETF E1. You can ask questions in person or via the course channel on
EduApp.
All lectures are recorded, and the recording will be made available within a day after the lecture in the
ETH Video Portal and linked below.
Date |
Topic |
Slides |
Recording |
Tue 18.02. |
Introduction |
– |
– |
Lecture Notes
We provide a script that contains the most important mathematical background and content needed for understanding the course.
The script serves as a reference for the lectures, for setting up the notation, and for introducing theorems, definitions, and concepts.
The manuscript is not final and will be updated and expanded with notes for some of the lectures as the course progresses, so please check back regularly.
For typos, errors, and suggestions, please go to the corresponding
Moodle section.
Tutorials
Tutorials are on Fridays, 14:15 to 16:00 ETA F5 with a simultaneous video screening in ETF E1 (same locations as for the lectures).
As in the lectures, you will be able to ask questions via the course channel on
EduApp.
The tutorials are recorded and will be made available afterwards in the
ETH Video Portal.
Date |
Topic |
Materials |
Recording |
Homework/Solution |
Fri 21.02. |
Math recap |
– |
– |
– / – |
Q&A Sessions
Starting from week 2, Q&A sessions (virtual office hours) will be held on Mondays, 17:15 to 18:00 virtually on
Zoom.
It is not mandatory to attend the Q&A sessions.
The Q&A sessions are an informal opportunity to ask questions about the course.
We may use some sessions for giving more information about the projects.
The sessions are recorded, and the recording will be made available and linked below.
Date |
Topic |
Recording |
Mon 24.02. |
Administration |
– |
Code Projects
The code projects require solving machine learning problems with methods taught in the course.
There are 5 projects overall. The first project (Project 0) is not graded and allows you to become familiar with our submission workflow.
The other 4 projects (Projects 1-4) are graded pass/fail.
You need to get a pass grade on least 3 of the 4 graded projects (Projects 1-4) to pass the projects component of the course overall.
The project component of the course must be passed on its own to take the exam (see
course catalogue).
100% of the final grade of the course is determined by the session examination.
Passing each individual project requires handing in the solution code as well as a short report in the form of a video.
You are allowed to work in groups of 1 – 3 students, but it is your responsibility to find a group, and every member of the group has to upload their own video.
You can search for teammates by posting on Moodle.
The following shows the timeline for the projects. All times are local time in Zurich:
Project |
Release Date |
End Date |
Project 0 |
Mon, 24 Feb 2025, 15:00 |
|
Project 1 |
Mon, 10 Mar 2025, 15:00 |
Fri, 28 Mar 2025, 15:00 |
Project 2 |
Mon, 31 Mar 2025, 15:00 |
Fri, 18 Apr 2025, 15:00 |
Project 3 |
Mon, 21 Apr 2025, 15:00 |
Fri, 9 May 2025, 15:00 |
Project 4 |
Mon, 12 May 2025, 15:00 |
Fri, 30 May 2025, 15:00 |
There will be a presentation introducing the project in the Q&A session on each Monday a project gets released.
We also discuss the solution for each project in the Q&A session following each project deadline.
Contact
Instructors |
Prof. Andreas Krause and Prof. Fanny Yang |
Head TA |
Lars Lorch |
Assistants |
Jonas Hübotter, Frederike Lübeck, Parnian Kassraie, Jun Park, Daniil Dimitrev, Yifan Hu, Weronika Ormaniec, Marco Bagatella, Yarden As, Bhavya Sukhija, Vignesh Ram Somnath, Kiran Doshi, Patrik Okanovic, Lucas Götz, Pascal Burkhard, Lenart Treven, Armin Lederer, Rajesh Sharma, Piersilvio De Bartolomeis, Florian Dorner, Mengyao Fan, Gil Kur, Julia Kostin, Cynthia Chen, Paola Malsot, Arad Mohammadi, Francesco Freni, Leander Diaz-Bone, Balazs Szeker, Valentin Hartmann, Tanyu Jiang, Mert Albaba, Raphael De Gottardi, Tobias Wegel, Alex Shevchenko, Mojmir Mutny, Lejs Behric |
Questions |
Please use Moodle for questions regarding course material, organization, and projects. For urgent and sensitive matters, you can contact the TA team and lecturers directly by sending an email to introml25@inf.ethz.ch and, when concerning the projects, to introml25-projects@inf.ethz.ch. Please use the option to contact us via email sparingly. Our response time is significantly faster on Moodle. |
Lectures
Tue 14:15-16 |
ETA F5 |
ETF E1 (video) |
Wed 14:15-16 |
ETA F5 |
ETF E1 (video) |
Tutorials
Fri 14:15-16 |
ETA F5 |
ETF E1 (video) |
Q&A Sessions
Mon 17:15-18 |
Virtual |
Zoom |
Demos
The demos used in the lectures are available on
GitLab and based on jupyter notebook (with Python 3.9).
Please look at
this intro for installing and running instructions.
We recommend that you create a
conda environment to maintain the code base.
After enrolling in the course, you should have been added to the repository automatically.
If you cannot access the repository after 7 days, please send an email to
tajiang@student.ethz.ch with the subject “[IML 2025] GitLab access” and include your nethz in the email like this “[tajiang]” surrounded by square brackets. (If you get a 404-error or can’t see the repository, this is likely because you don’t have access yet. If you have never logged into GitLab before, we cannot add to the repository, because your account is not displayed, so please ensure that you logged into GitLab previously.)
Performance Assessment
100% of the final grade is determined by the session examination. The project component of the course must be passed on its own to take the exam.
The practical projects are an integral part (60 hours of work, 2 credits) of the course.
The project component is assessed on a pass/fail basis. Participation is mandatory.
Failing the project results in a failing grade for the overall examination of
Introduction to Machine Learning (252-0220-00L).
Students who do not pass the project component are required to de-register from the exam and will otherwise be treated as a no show.
For the final exam, you can bring two A4-pages (that is, one A4-sheet of paper), either handwritten or 11 point minimum font size. A simple non-programmable calculator is allowed during the exam.
The exam will be multiple choice.
Here, you can find an example of the question types as well as how to fill out the answer sheet.
FAQ
This course is compulsory for my program, but I cannot register. What should I do?
A: If this course is compulsory for your study program (Kernfach), you are able to register irrespective of the waiting list. Please allow some time for the transfer from the waiting list.
Is physical attendance to the didactic activities mandatory?
A: Physical attendance at lectures, tutorials and Q&As is not mandatory but strongly encouraged.
What programming knowledge is required for this course?
A: For the programming background, we recommend knowing Python. Check out this Python tutorial if you have not used Python before.
Will the projects contain boilerplate code?
A: Yes. There will be some code to guide you through the steps.
What are the most useful libraries to learn for the projects?
A: numpy, sklearn, pandas, torch.
Is there a preferred library for the deep learning section?
A: We will give a tutorial on pytorch and use pytorch in the boilerplate code for the projects. The use of other libraries is allowed.
Am I eligible to take the exam if I fail some of the projects?
A:
You must receive a “pass” grade on least 3 of the 4 graded projects (Projects 1-4) to pass the projects component and therefore be eligible to take the exam. That means, you can receive a “fail” grade for at most one of the graded projects to be allowed to take the exam. If you do not pass the projects component, you have to de-register from the exam. If you do not de-register, we will assign you a no-show grade. Please refer to the course catalogue.
I did the projects last year (spring semester) and either did not take or failed the exam in the spring or following autumn semester (or both). Do they count towards this year’s projects component?
A: No, they do not. Projects can be submitted only in the spring semester and they make you eligible to take the exam in the same (spring) semester and the autumn semester following. If you do not take the exam or fail the exam in these two sessions, you have to enroll in the class next year and redo the projects again.
I am an attendance-only doctoral student. What do I need to do?
A: You need to enroll in the class and complete the projects to get your attendance certified. Your department decides how many credits you get for just attendance. Most departments require you to take the exam as well to be eligible for credits . This includes the D-INFK, D-MAVT departments. Please contact your department study administrator for details.
I am a doctoral student. Can I not do the projects or the exam but still get a grade?
A: Most doctoral students that would like to get credits for the class need to do the projects and the exam. A minority of departments allow you to get credits without taking an exam. See the question above.
Is distance examination allowed?
A: Distance examination is allowed, but you need to file an official request via study administration. We do not handle these requests.
Optional Additional Resources
Mathematical and statistical background:
- Marc Peter Deisenroth, A Aldo Faisal, and Cheng Soon Ong. Mathematics for Machine Learning. Cambridge University Press, 2020.
- L. Wasserman. All of Statistics: A Concise Course in Statistical Inference. Springer, 2004.
Machine learning:
Deep learning: