BLACKBOARD PAGE | UNIT INFO |

COMS30035 - Machine Learning


News


Unit Information

This unit seeks to acquaint students with machine learning algorithms which are important in many modern data and computer science applications. We cover topics such as kernel machines, probabilistic inference, neural networks, HMMs and emsemble models.


Staff

James Cussens (JC), Xiyue Zhang (XZ), Wei-Hong Li (WL), Xiang Li (XL)


Teaching Assistants

TBD


Unit Materials

Cribsheet

Week Monday lecture, 0900-1000, St Michaels Hill 31-37 A1.4 (Weeks 2-5), Queen's 1.4 Pugsley (Weeks 7-8)
Week 1 only: moved to Monday 1500-1600, Queen's 1.4 Pugsley
Monday lecture, 1500-1600, Queen's 1.4 Pugsley
Week 1 only: moved to Tuesday 1200-1300, Queen's 1.4 Pugsley
Tuesday lab, 1500-1800, MVB 2.11 Thursday drop-in, 1700-1800, Queen's 1.06
1 (w/c 22/09/25) L01: Unit organisation, L02: Machine Learning concepts L03: Unit topic overview, L04: Linear regression, linear discriminant and logistic regression Lab01: Introduction to numpy and scikit learn Drop-in
2 (w/c 29/09/25) L05: Introduction to Neural Networks L06: Training Neural Networks Lab02: Neural networks Drop-in
3 (w/c 06/10/25) L07: Regression and classification trees L08: Kernels and Support Vector Machines Lab03: Trees and SVMs Drop-in
4 (w/c 13/10/25) L09: Probabilistic Graphical Models L10: Markov Chain Monte Carlo Lab04: Probabilistic Graphical Models Drop-in
5 (w/c 20/10/25) L11: k-means and mixtures of Gaussians L12: The EM algorithm Lab05: Mixture models, K-means and Expectation Maximisation Drop-in
6 (w/c 27/10/25) No lecture No lecture in-class test, time TBD No drop-in
7 (w/c 03/11/25) L13: Sequential data (HMMs) L14: Sequential data (LDS) Lab06: Hidden Markov Models Drop-in
8 (w/c 10/11/25) L15: Ensemble methods Spare lecture Lab07: Decision Trees and Ensemble Methods Drop-in
9 (w/c 17/11/25) No lecture No lecture Coursework support session (1500-1700) No drop-in
10 (w/c 24/11/25) No lecture No lecture Coursework support session (1500-1700) No drop-in
11 (w/c 01/12/25) No lecture No lecture Coursework support session (1500-1700) No drop-in
12 (w/c 08/12/25) No lecture Revision No lab No drop-in

Assessment Details


Lab Work

The labs are formative assessements which we strongly encourage you to complete. Note that these were designed to help your understanding of ML methods.

Using the machines in MVB 2.11

Most (not all) of the software we use in this unit is supplied as Python packages bundled with the Anaconda Python package manager. If you are using the machines in Queen's 180 to do the lab exercises (as opposed to using your own machine) you need to do the following to start using Anaconda.

  1. Make sure the machine you are using is running Linux (reboot if necessary).
  2. Open up a Terminal window so you have access to the Linux command line.
  3. Enter the following at the command line: module load anaconda
  4. To access the ML software for this unit you need to use the coms30035 Anaconda Virtual Environment. To do this type conda activate coms30035 at the command line.
  5. If you call Python after doing conda activate coms30035 it should use the coms30035 virtual environment. Common ways of using Python include:
    1. Typing python at the prompt to start the Python interpreter.
    2. Typing python somescript.py to execute a Python script (in this example with the name somescript.py).
    3. Typing jupyter lab at the prompt to start JupyterLab.
    4. Typing jupyter lab somenotebook.ipynb to inspect (and possibly execute) a JupyterLab notebook (in this example with the name somenotbook.ipynb).

Using your own machine

If you want to do lab exercises on your own machine then you should install Anaconda on it. If you run into installation problems then feel free to ask the Teaching Staff on the unit for help, but we can't guarantee to solve them.

Text books

  1. Bishop, C. M., Pattern recognition and machine learning (2006). This is one of the best ML textbooks and will be our main textbook. The book is freely available here.
  2. Murphy, K., Probabilistic Machine Learning: An Introduction (2022) and Murphy, K., Probabilistic Machine Learning: Advanced Topics (2023). We will also use this book series for some topics. These are more recent textbooks and provide a particularly good coverage of probabilistic methods. The books are freely available via here.

Github

All technical resources (including the labs) will be posted on the COMS30035 Github organisation. If you find any issues, please kindly raise an issue in the respective repository.