## Course info:

This course is about methodologies and algorithms allowing computer programs to learn from data (examples) and by this become better in solving some given task. The course covers the main principles of machine learning, concentrating on supervised learning algorithms. Acquaintance will be made with the main types of models, such as decision trees, linear models, distance-based models, probabilistic models, ensemble models and neural networks. Practical assignments will be given to building a deeper understanding of the material.

As a prerequisite to taking this course, the students are expected to be able to program in Python and have some basic knowledge about probabilities and statistics. Sufficient knowledge would be gained by taking the courses: LTAT.03.001 Programming and MTMS.01.049 Basic Course on Probability and Statistics. These courses are not mandatory prerequisites but rather provide an indication as to which level of knowledge is expected. In general, it is recommended to take the course LTAT.02.002 Introduction to Data Science before the Machine Learning course. The exceptions to this are the computer science master students, who are expected to take Machine Learning in the first semester regardless of whether they have taken LTAT.02.002 Introduction to Data Science earlier or not.

- The course starts on September 9, 2019 (no lecture and no practice sessions during the week September 2-6)
- Lectures:
- Monday 10:15 - 12:00, J. Liivi 2, room 111

- Practice Sessions:
- Group 1: Monday 12:15 - 14:00 (J. Liivi 2, room 402, Viacheslav)
- Group 2: Monday 16:15 - 18:00 (J. Liivi 2, room 207, Novin)
- Group 3: Wednesday 16:15 - 18:00 (Ülikooli 17, room 219, Mohamed)
- Group 4: Wednesday 16:15 - 18:00 (J. Liivi 2, room 224, Mikhail)
- Group 5: Tuesday 16:15 - 18:00 (J. Liivi 2, room 404, Vladislav)

- Contacts:
- Lecturer:
- Meelis Kull (meelis.kull@ut.ee)

- Teaching Assistants:
- Viacheslav Komisarenko (viacheslav.komisarenko@ut.ee)
- Novin Shahroudi (novin@ut.ee)
- Mohamed Abdelrahman (mohamed.abdelrahman@ut.ee)
- Mikhail Papkov (mikhail.papkov@ut.ee)
- Vladyslav Fediukov (vladyslav.fediukov@tudeng.ut.ee)

- Lecturer:

## Test times:

- Test 1 - Monday, Oct 14, 10:15-11:45
- Test 1 resit - Monday, Nov 4, 18:15-19:45, J. Liivi 2, room 404
- Test 2 - Monday, Nov 18, 10:15-11:45
- Test 2 resit - Monday, Dec 2, 18:15-19:45, J. Liivi 2, room 405
- Test 3 (limited number of students) - Monday, Dec 16, 16:15-18:00
- Test 3 - Monday, Jan 6, 9:00-10:45
- Test 3 resit - Thursday, January 30, 10:00-11:45

Locations of tests will be announced in the course forum on Piazza.

## Course forum:

- Forum and discussions will be held in Piazza. Please go there and get enrolled. If you encounter any problems, then please let us know!

## Grading and requirements:

The grade is calculated from the total number of points (max 100). The points can be earned as follows:

- Homeworks (36 points): there will be 6 homeworks, each worth 6 points;
- Tests (64 points): there will be 3 tests worth of 20, 20 and 24 points.

**In order to pass the course the student must get at least 50% from homeworks (threshold 18 points) and 50% from each of the tests (thresholds 10, 10 and 12 points, respectively).**

**There will be no exam. The final grade is calculated as explained above.**

**Homework and test results will be made visible here using pseudonyms.**

## Course material:

The course will be partly based on the book

#### "Machine learning: The Art and Science of Algorithms that Make Sense of Data" by Peter Flach (2012)

## Course programming language:

Homeworks are required to be solved using Python version 3. Practice sessions, examples and support is given only for that language.