This course aims to introduce students to basic principles of machine learning algorithms. In particular, we will look into basic principles of supervised and unsupervised machine learning through exemplars of algorithms of different families: heuristic search (decision trees), probabilistic classifiers (Naïve Bayes), lazy learning (KNN), methods for numeric prediction, association rule mining (Apriori), clustering, and fundamental principles of neural networks. Throughout the course, model evaluation and interpretation of results will be emphasized.
After completing this course, the students will understand the basic theory underlying supervised and unsupervised machine learning. They will be able to formulate machine learning problems corresponding to different applications. They will understand a range of machine learning algorithms along with their strengths and weaknesses. They will be able to apply machine learning algorithms to solve problems of moderate complexity, evaluate their performance and properly interpret the results.
· Homework: 20%
· Project (report + presentation): 30%
· Written exam: 50%
A prerequisite for this course are basic programming skills (e.g. Introduction to Programming in Python) and applied statistics knowledge (e.g. Fundamentals of Data Analysis).