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)


Teaching Assistants

Akin Eker, Siddhant Bansal, Shijia Feng, Omar Emara, Saptarshi Sinha, Tianye Wang, Kal Roberts


Unit Materials

Cribsheet

Week Monday lecture, 0900-1000, Queen's 1.15 Wednesday lecture, 0900-1000, Queen's 1.15 Thursday drop-in, 1200-1300, Queen's 1.68 Thursday lab, Weeks 1,2: 1600-1800 MVB1.15. Weeks 3-: 1500-1800, Queen's 1.80
1 (w/c 16/09/24) L01: Unit organisation, L02: Machine Learning concepts L03: Unit topic overview, L04: Linear regression, linear discriminant and logistic regression Drop-in Lab01: Introduction to numpy and scikit learn
2 (w/c 23/09/24) L05: Introduction to Neural Networks L06: Training Neural Networks Drop-in Lab02: Neural networks
3 (w/c 30/09/24) L07: Regression and classification trees L08: Kernels and Support Vector Machines Drop-in Lab03: Trees and SVMs
4 (w/c 07/10/24) L09: Probabilistic Graphical Models L10: Markov Chain Monte Carlo Drop-in Lab04: Probabilistic Graphical Models
5 (w/c 14/10/24) L11: k-means and mixtures of Gaussians L12: The EM algorithm Drop-in Lab05: Mixture models, K-means and Expectation Maximisation
6 (w/c 21/10/24) No lecture No lecture in-class test 1400-1500 in MVB 2.11 No lab
7 (w/c 28/10/24) L13: Sequential data (HMMs) L14: Sequential data (LDS) Drop-in Lab06: Hidden Markov Models
8 (w/c 04/11/24) L15: Ensemble methods Spare lecture Drop-in Lab07: Decision Trees and Ensemble Methods
9 (w/c 11/11/24) No lecture No lecture No drop-in Coursework support session (1500-1700)
10 (w/c 18/11/24) No lecture No lecture No drop-in Coursework support session (1500-1700)
11 (w/c 25/11/24) No lecture No lecture No drop-in Coursework support session (1500-1700)
12 (w/c 02/12/24) Revision Revision No drop-in No lab

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 Queen's 180

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.