Machine Learning (Year 3, MSc)

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.

Upon completion of this module, the student will be able to demonstrate and apply knowledge and understanding of:

  • Standard machine learning tasks scenarios and the general methodology to learn from data under various conditions
  • Basic concepts and ideas, as well as the theory underlying machine learning problems and algorithms.
  • Several popular modern machine learning algorithms, with standard tools and techniques used in their design and analysis, and will be able to evaluate and analyse them.
  • How to approach real world machine learning problems, how to model problems, pre-process data, as well as design, select and implement appropriate learning algorithms.

Deep Learning (Year 3, MSc)

In contrast to the machine learning, course deep learning will focus on deep neural network based learning. It introduces the background and illustrates how deep learning is impacting our understanding of intelligence and contributing to the practical design of intelligent machines. Deep learning is currently the most active area of research and development and in high demand for experts by hi-tech start-ups, large companies as well as academia. It is the preferred approach for modern AI and machine learning in any domain. Deep learning techniques enable us to automatically extract features from data so as to solve predictive tasks, such as speech recognition, object recognition, machine translation, question-answering, anomaly detection, medical diagnosis and prognosis, automatic algorithm configuration, personalisation, robot control, time series forecasting, and much more.

Upon completion of this module, the student will be able to demonstrate and apply knowledge and understanding of:

  • The underlying mathematical and algorithmic principles of deep learning
  • A wide variety of deep learning algorithms
  • The key factors that have made deep learning successful for various applications
  • How deep learning fits within the context of other ML approaches and what learning tasks it is or isn’t suited for
  • How to perform evaluation of deep learning algorithms and model selection.
  • What is involved in learning from data
  • The challenges of deep learning
  • The problems that arise when dealing with very small and very big data sets, and how to solve them

Computer Vision and Pattern Recognition (Year 4, MSc)

This course introduces areas of Computer Vision and Patter Recognition. Computer Vision is a field concerned with visual data captured by cameras, while Pattern Recognition offers techniques for processing data from diverse types of sensors.

Data and signal processing techniques from these two fields are closely related and enable us to automatically extract information so as to solve predictive and decision based tasks, such as speech recognition, object recognition, machine translation, question-answering, anomaly detection, medical diagnosis and prognosis, automatic algorithm configuration, personalisation, robot control, time series forecasting, and much more.

This course aims to introduce the concepts, basic formulations and applications of computer vision and pattern recognition. The computer vision material includes pinhole camera model, Homogeneous coordinates, Planar transformations and parameters, Perspective projection, 3D reconstruction, Epipolar geometry, Image Matching, Hough Transform, RANSAC. The patter recognition part introduces Dimensionality Reduction, Principle Component Analysis (PCA), Linear discriminant functions, Discriminant Analysis, Data representation, Distances Metrics, Clustering algorithms, Bagging and boosting, Ensemble Learning, Committee Machine, Sequential (Time Series) Data Analysis

The learnt topics are illustrated with applications: face recognition, or machine learning repository data, etc. The study of pattern recognition at this level develops a set of skills and knowledge about theories and practice in recognising regularities in signal and data. By the end of the module the students should be able to:

  • Apply fundamental concepts and theoretical principles of computer vision and pattern recognition for building signal and data representations and modelling target functions
  • Develop insight into the problems involved in applying a variety of computer vision and pattern recognition techniques to deal with practical scenarios
  • Understand and apply the concepts of visual geometry in selected computer vision applications
  • Analyse and compare the strengths and weaknesses of popular approaches
  • Implement various algorithms in a range of CVPR applications through specific programming environments (Matlab, python)