All of the lab sheets are written in Python 3 given in Jupyter notebook format.

Each lab sheet will be made available on the day of the lab, and answers for each will be made shortly after.

Lab 1: Gaussian Process Regression

This lab is designed to introduce Gaussian processes in a practical way, illustrating the concepts introduced in the first two lectures. The key aspects of Gaussian process regression are covered: the covariance function (aka kernels); sampling a Gaussian process; and the regression model. The notebook will introduce the open source Python library GPy which handles the kernels, regression and optimisation of hyperparameter, allowing us to easily access the results we want.

Google Colab    

Lab 2: GPs for Non-Gaussian Likelihoods and Big Data

This lab introduces Gaussian process regression for data with non-Gaussian likelihoods, and shows how this can be applied to classification. The concept of sparse methods for Gaussian process regression is introduced for creating a scalable regression model, and this is combined with a large classification problem.

As with Lab 1, the notebook uses GPy for handling the regression model and likelihoods.

Google Colab   

Lab 3: Global Optimisation with Gaussian Processes

This lab introduces the basic concepts of Bayesian optimisation with Emukit. The student will have to build and compare different models and acquisition functions to solve several optimisation problems.

Google Colab