The course introduces students to the design of algorithms that enable machines to "learn". In contrast to the classic paradigm where machines are programmed by specifying a set of instructions that dictate what exactly a machine should do, a new paradigm is developed whereby machines are presented with examples from which they learn what to do. This is especially useful in complex tasks such as natural language processing, information retrieval, data mining, computer vision and robotics where it is not practical for a programmer to enumerate all possible situations in order to specify suitable instructions for all situations. Instead, a machine is fed with large datasets of examples from which it automatically learns suitable rules to follow. The course will introduce the basics of machine learning and data analysis.
At the end of the course, students should have the ability to:
Introduction
Linear models
Non-linear models
Probabilistic models
Unsupervised learning
Sequence learning
Ensemble learning
Large scale learning
End user issues of Machine Learning
Real-world applications of Machine Learning
Topics in Machine Learning