Course info:
This course aims to give students a very clear intuition behind the most essential Machine Learning methods. Therefore, we will practice implementing some of the key algorithms (like decision trees, backprop, bagging tree) in machine learning, so that it can be done if the need arises. We will discuss and gain practical experience with `sklearn` library. We will build an understanding as to when some algorithms should be preferred to other algorithms.
Course prerequisites
As a prerequisite to taking this course, the students are expected to be able to program in Python and be familiar with NumPy and Pandas Python libraries. LTAT.03.001 Programming provides sufficient background. It is also worth reviewing Probability, Calculus, and Linear Algebra.
Course schedule:
- The course starts on September 9, 2024
- Lectures:
- Monday 10:15 - 12:00 in Narva mnt 18, room 1037 and in [log into courses to see link]
- Practice Sessions:
- Group 1: Monday 12:15 - 14:00, Narva mnt 18, room 1008 and (log into courses to see link) (Dmytro (aka Dima) Fishman)
- Group 2: Monday 12:15 - 14:00, Narva mnt 18, room 2010 and Zoom (log into courses to see link) (Mari-Liis Allikivi)
- Group 3: Tuesday 16:15 - 18:00, Narva mnt 18, room 2034 and Zoom (log into courses to see link) (Illia Tsiporenko)
- Group 4: Tuesday 16:15 - 18:00, Narva mnt 18, room 2010 and Zoom (log into courses to see link) (Hasan Tanvir)
- Group 5: Wednesday 16:15 - 18:00, Narva mnt 18, room 2034 and Zoom (log into courses to see link) (Joonas Ariva)
- Group 6: Wednesday 16:15 - 18:00, Narva mnt 18, room 2010 and Zoom (log into courses to see link) (Dzvinka Yarish)
- Contacts:
- Lecturer:
- Dmytro Fishman (dmytro.fishman@ut.ee)
- Teaching Assistants:
- Mari-Liis Allikivi (mari-liis.allikivi@ut.ee)
- Illia Tsiporenko (illia.tsiporenko@ut.ee)
- Joonas Ariva (joonas.ariva@ut.ee)
- Hasan Tanvir (hasan.tanvir@ut.ee)
- Dzvinka Yarish (dzvenymyra-marta.yarish@ut.ee)
- Lecturer:
Course forum:
Forum and discussions will be held in Slack. All the registered students will be enrolled by the instructors (you need to confirm your enrollment). Also, here is a [log into courses to see link] that you can use to add yourself to slack.
Grading and requirements:
The grade is calculated from the total number of points (max 100). The points can be earned as follows:
- Homeworks (60 points): there will be 6 homeworks, each worth 10 points;
- Paper summary (15 points);
- Project completed in teams (25 points);
Bonus points
Homeworks will include optional exercises that can be done for bonus points. To earn these points we expect you to do what is asked in the bonus exercise and also go beyond this. To be more precise, we expect an extra effort in the presentation + interpretation of the results. Hence, even if the bonus exercise does not explicitly tell you to interpret the results, you should know that by default we expect you to provide a really good presentation of the results, including the interpretation.
Passing criteria
In order to pass the course, the student must have at least 51 point (grade E) in total and get at least 50% from regular exercises and project (30 homeworks points from the homework exercises).
Exam
There will be no exam. The final grade is calculated as explained above.
Attendance
Attendance of both lectures and practice sessions is not compulsory. But we encourage students to participate physically if there is a possibility.
Deadlines
All deadlines in the course, are strict deadlines. Students have 6 late days in total per semester. Late days will be automatically taken away once the student submits an assignment after the deadline. Generally, 1 minute after the deadline means 1 late day. After the late days are exhausted, each additional late day is -20% of the assignment total (i.e. if homework is 10 points, the penalty is 2 points per additional late day used).
Plagiarism
All homeworks are checked for plagiarism. If caught first time, we will subtract points for the exercise(s) from the homework total. If caught the second time, formal notification to the Dean's office will be filed. You are allowed to discuss your assignments in groups, but not to copy the exact solutions. If you worked in a group, please list all the other students of your study group at the top of your colab notebook.
The course performance will be published using pseudonyms. You can find your pseudonym here.
Course programming language:
Homeworks are required to be solved using Python version 3. Practice sessions, examples and support is given only for that language. We will be using Google Colab during the practice sessions, so it is recommended to get familiar with Colab and also make sure you have Google account.
Links to previous courses:
Taught by Dmytro Fishman et al.:
2023 fall,
2022 fall,
2021 fall,
2020 fall;
Taught by Meelis Kull:
2019 fall,
2018 fall,
2018 spring;
Taught by Sven Laur: 2017 spring, 2016 spring,
2015 spring,
2012 spring;
Taught by Phaedra Agius:
2008