ELEC60019 Machine LearningLecturer(s): Prof Krystian Mikolajczyk; Dr Deniz Gunduz Aims
The aim of this course is to introduce students to the theory and practice of modern machine learning methods. Extracting information from the unprecedented amount of data (aka. big data) that has been collected in recent years is a very important task in science and engineering, with great social and economical impact. Machine learning addresses the problem of how computers can learn and extract information automatically from data, and it is behind many methods used in artificial intelligence, data mining or adaptive system design. It is widely applied in practice in most disciplines where data is available, including, e.g., electrical engineering, computer science, or medicine. Students will learn the main concepts from theory and practice of how to convert observations given in the form of data into expertise. You will learn how to model learning and inference problems and how to design and analyse algorithms to solve them. The module will also introduce popular machine learning algorithms.
Learning Outcomes
Intellectual skills:
You will become familiar with standard machine learning scenarios and the general methodology to learn from data under various conditions. You will have an understanding of basic concepts and ideas, as well as the theory underlying machine learning problems and algorithms. You will become familiar with several machine learning algorithms, the standard tools and techniques used in their design and analysis, and will be able to evaluate and analyse them. Practical Skills: You will learn how to approach real world machine learning problems, how to formulate them, preprocess data, choose appropriate algorithm and its parameters. Transferable / Key Skills: You be able to employ your knowledge in machine learning in various projects where learning from data is essential. You will also have a better understanding of problems related to data analysis. Syllabus
Background and overview
Overview of terminology, formulations and concepts, Introduction of main tasks, error and performance metrics, data preparation/annotation, Components of learning, data representation, linear classification, formulation of ML problem, Learnability Hoeffding's inequality, VC inequality, , overfitting, performance/complexity, bias/variance tradeoff, Empirical risk minimization and dealing with noise Feature transformation, model selection and validation, regularisation Neural Networks Logistic regression, gradient descent, Perceptron, MLP, backpropagation, SVM and kernels Hyperplane, separation with hard margin, soft margin, support vector machines, kernel methods Unsupervised learning Clustering, kmeans algorithm Reinforcement learning Formulation, comparison with other ML methodologies, agent/environment/policy, actor/critic Corequisite topics: EE310 Mathematics for Signals and Systems Prerequisite topics: Although the course does not have prerequisite modules, familiarity with basic concepts from linear algebra, probability theory and statistics, vector calculus is required, as well as familiarity with some programming language to be able to code nontrivial algorithms (e.g., MATLAB, python, C++, Java, etc). Some knowledge from optimization might also prove helpful. Exam Duration: 3:00hrs Coursework contribution: 20% Term: Autumn Closed or Open Book (end of year exam): N/A Coursework Requirement: N/A Oral Exam Required (as final assessment): N/A Prerequisite module(s): None required Course Homepage: Blackboard Book List: Please see Module Reading list
