We would like to thank Alex Capstick, Yu Chen, Marirena Bafaloukou, Anastasia Ilina, Tianyu Cui, Ruxandra Mihai, Olivia Li, and Francesca Palermo.
This course is designed to deepen your understanding of machine learning and its applications in neuroscience. This course introduces both supervised and unsupervised learning techniques, alongside classical machine learning methods and modern deep learning approaches.
You will explore a range of machine learning methods and discuss their applications in neuroscience. The module covers key concepts from traditional algorithms to advanced neural networks.
By the end of this module, you will be able to:
Before taking this module, we advise that you work through the following video tutorials:
(Videos and slides for the Python tutorial are created by Nan Fletcher-Lloyd, Iona Biggart, and Antigone Fogel)If you have any problems installing anaconda or VSCode, please do not hesitate to contact us.
We also suggest that you complete the Python for Beginners Tutorial. If you have any difficulty/questions arising from this, we would be happy to work through these with you during the first lab.
A good place to start is Kevin Murphy's book on Probabilistic Machine Learning. You might find it helpful to read the following sections:
If you get through this list and would like some additional reading, let us know and we can recommend more!
In addition to the essential course material, a knowledge of linear algebra, probability theory and calculus will give you the best chance of success.
We will assess your ability to apply the knowledge you have learnt during the lectures. Questions will test your understanding of key machine learning concepts as well as your ability to apply machine learning methods in Python to a series of real-world problems.
Throughout this course, your assessment will consist of two pieces of coursework:
Assessment One:This includes two parts, both completed during lab sessions. Detailed assessment criteria will be provided in advance.
Assessment Two:You will work with a real-world dataset from a clinical study. Your task is to develop one or more analytical models to predict a clinical outcome. This will involve writing the code, performing evaluations, and reporting your results.
Your code and models will be assessed based on:
Additionally, the project will be evaluated on its performance using a held-out dataset.
Please note that all lecture sessions will be recorded and made available internally. Laboratory sessions, however, will not be recorded.
: Guest Lecture: Introduction to Pytorch, Iona Biggart
: Guest Lecture: Building a Machine Learning Model for Predicting Pathways and Trajectories in Alzheimer's Disease, Antigone Fogel
In March/April 2026, we will try to organise an optional series on Generative AI and Large Language Models (LLMs) covering the topics:
Past year's slides and recordings are available here.
The slides are by Payam Barnaghi, and the notes are prepared by Nan Fletcher-Lloyd.
Labs and assessments are prepared by Payam Barnaghi, Nan Fletcher-Lloyd, Alex Capstick, Yu Chen, Marirena Bafaloukou, Anastasia Ilina, Anastasia Gailly de Taurines, Antigone Fogel, and Iona Biggart.
The following links are to the individual labs, already run and stored in GitHub. Clicking any of the "Open in Colab" buttons will open that lab in Google Colab, which allows you to run code from your browser with a GPU if selected.
The following are the steps to set up your environment if you will be running the labs locally:
conda create -n ml4ns python=3.11.5
requirements.txt file (from here)
and place it in your root directory.
conda activate ml4ns
pip install -r requirements.txt
pip3 install torch torchvision torchaudio
pip install transformers
jupyter lab
import torch
Then:
torch.cuda.is_available()
And if you have a GPU, you should see True, otherwise False.
Each session:
If you're using Jupyter Lab, every time you go to work on this project you'll need to activate
your environment by running conda activate ml4ns using either the Terminal (Mac) or
Anaconda
Prompt (Windows). Then you may enter the command jupyter lab to open Jupyter Lab.
If you're using VSCode, you'll need to select the Python environment for each new file you open.
The GitHub repository for this course is available here:
GitHub
This is a simple demo that shows you how cool machine learning is! This model is running in your browser and will predict the number of stars from a film review. Try it out!
If you want to contact Payam Barnaghi, send an email to: p.barnaghi@imperial.ac.uk or use the links on the staff images to contact a specific person.
This work is licensed under a CC BY 4.0 License:
Software elements are additionally licensed under the BSD (3-Clause) License.