Introduction to Machine Learning
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 course project.
VVZ Information is available here.
- Due to COVID-19, there will be no physical lectures and office hours. If the epidemiological situation allows, we might return to the classical lecture format with physical attendance.
- The exam will take place on a computer. Please inform us about any special request regarding a disability.
- In the first week’s tutorial sessions on 26. February, we will offer a review session of required background material for the course. This will include a short recap of linear algebra, multivariate analysis and probability theory.
- For programming background, we recommend knowing Python. For those without experience in it, check out this Python tutorial.
- Access to the files and Zoom calls and recordings of the tutorial and Q&A are password protected. To obtain the password you need to be inside the ETH network and click here. To establish a VPN connection click here.
- All lectures are being recorded. The recordings will be made available within a day after the lecture on the ETH video portal here.
- We have set up forum on Piazza. Please use this for questions regarding the course material, projects and organization.
- 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.
- The project is a mandatory part of the examination. Without achieving a passing grade (4), you are not allowed to sit the final examination.
- Distance examination is allowed but you need to file an official request via study administration. We do not handle these requests.
- Attendance at Tutorials and Lectures is not mandatory.
The video recordings
of the lectures and tutorials are available on the ETH Videoportal
. The lectures are password protected. Use your ETH credentials to access the recordings.
||Prof. Andreas Krause and Prof. Fanny Yang
||Alex Tifrea, Andisheh Amrollahi, Andrii Zadaianchuk, Carl-Johann Simon-Gabriel, Chris Wendler, Cristina Pinneri, David Lindner, Fangjinhua Wang, Gideon Dresdner, Hugo Yeche, Joanna Ficek, Jonas Gehring, Jonas Rothfuss, Kjong Lehmann, Laurie Prelot, Lenart Treven, Max Paulus, Mohammad Reza Karimi, Mojmír Mutný, Nicolo Ruggeri, Niels Gleinig, Olga Mineeva, Scott Sussex, Sebastian Curi, Seyedmorteza Sadat, Stefan Stark, Vignesh Ram Somnath, Vincent Fortuin, Ya-Ping Hsieh
||Please use the Piazza forum for questions regrading course material, organization and projects. In order to send private questions to instructors use the private thread function of Piazza. If this does not work for your request, please use the tutorial webinar to ask questions.
Questions & Answers
Homeworks will be distributed electronically on the Moodle platform
. They are intended for you to practice concepts and your performance in the homeworks will in no way affect your final grade. They are published bi-weekly, with solutions following one week after or being directly visible after entering your solutions in Moodle.
The code projects will require solving machine learning problems with methods taught within the course. You are allowed to work in groups of 1 – 3 students, but it is your responsibility to find a group. You can search for teammates by posting on Piazza. Assignments will require handing in the solution code as well as a short report. In particular, there will be 6 code assignments. The first assignment is ungraded and will allow you to become familiar with our code submission workflow. The remaining projects are graded (pass/fail) and mandatory for passing the Introduction to Machine Learning course. You can find the tentative project schedule and further details in the project information sheet [pdf]
. The projects can be accessed and submitted on our project sever https://project.las.ethz.ch/
. You will need to be in the ETH network or use the VPN to access the server.
The Demo’s are based on jupyter notebook (with Python 3). Please look at this
intro for installing and running instructions. We recommend that you create a conda environment
to maintain the code base. The demo’s are hosted at GitLab
. If you do not have access, please request it.
70% session examination, 30% code project; the final grade will be calculated as weighted average of both these elements. As a compulsory continuous performance assessment task, the project must be passed on its own.
The coding projects are an integral part (60 hours of work, 2 credits) of the course. Participation is mandatory. To be eligible fir the examination of Introduction to Machine Learning (252-0220-00L), you need to pass the code projects, i.e., attain an overall project grade of 4 or higher.
Students who do not pass the project 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 (i.e. one A4-sheet of paper), either handwritten or 11 point minimum font size. No calculators or other aids are allowed.
, Sol 20
- Marc Peter Deisenroth, A Aldo Faisal, and Cheng Soon Ong Mathematics for Machine Learning. Cambridge University Press, 2020.
- K. Murphy. Machine Learning: a Probabilistic Perspective. MIT Press, 2012.
- C. Bishop. Pattern Recognition and Machine Learning. Springer, 2007. (optional)
- T. Hastie, R. Tibshirani, and J. Friedman. The Elements of Statistical Learning: Data Mining, Inference and Prediction. Springer, 2001.
- L. Wasserman. All of Statistics: A Concise Course in Statistical Inference. Springer, 2004.