This is an archived version of the course. Please see the latest version of the course.

Course prerequisites

This is an Introductory Machine Learning course, so we do not require you to have any prior knowledge about Machine Learning.

Mathematics pre-requisites

To get the most out of the course, we recommend that you have some understanding of:

  • Basic algebra
  • Basic calculus (you know what differentiation and integration means)
  • Basic linear algebra (you know what matrices and vectors are, and the concepts of cross products, dot products, matrix inversion etc.)
  • Gaussian (normal) distributions

The course is mainly applied Mathematics - you will NOT be required you to derive any mathematical proofs.

The following sections of the Mathematics for Machine Learning book are the topics you should ideally know before starting the module.

  • Chapters 2.1-2.2
  • Chapters 3.1-3.2 (up to and including 3.2.1)
  • Chapters 5.1-5.4
  • Chapters 6.1.2, 6.2, 6.4.1, 6.4.2, 6.5 (the first part, up to before 6.5.1), 6.6 (up to Example 6.8 (Bernoulli distributions))

Programming pre-requisites

For the coursework, you will be expected to program in:

  • Python
  • NumPy
  • PyTorch (optional, for coursework 2)

We provide a Python crash course for either Java or C++ programmers and also a NumPy tutorial, although you will have to allocate extra time to study these. There will also be some optional lab exercises to help guide you in your practical implementations.