teaching undergraduate machine learning (UK CS 485)

01 August 2012

Course Summary

This course covers the computational principles and techniques that enable software systems to improve their performance by learning from data. The focus is on fundamental algorithms, mathematical models and programming techniques used in Machine Learning. Topics include: different learning settings (such as supervised, unsupervised and reinforcement learning), various learning algorithms (such as decision trees, neural networks, k-NN, boosting, SVM, k-means) and crosscutting issues of generalization, data representation, feature selection, model fitting and optimization. The course covers both theory and practice, including programming and written assignments that use concepts covered in lectures.

Course websites

Pre-requisites (official)

Strong programming ability (CS 315), basic probability and statistics (STAT 281), and basic concepts of linear algebra (MA/CS 321 or MA/CS 322), or instructor's consent.

Pre-requisites (unofficial)

Students should know Python or MATLAB and have the ability to learn how to use new software libraries with limited instruction. Students should know the following mathematical concepts: calculus (partial derivatives), probability (basic rules of probability), and linear algebra (matrix multiplication and inverse). A quick review will be provided as these concepts are used, but please ask the instructor if you are unsure if you have sufficient experience.