The labs for the Gaussian Process Summer School can be downloaded here. 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. There are also some extra work sheets, for you to explore in your own time, which give details of other uses of Gaussian processes not covered in the summer school. Answers for extra labs will be made available after the summer school.
Details of how to set up your Python environment and on the installation of the necessary libraries are available on the Getting Started page. Ensure you have completed the setup before starting the labs. We recommend that you use Binder during the lab sessions. To view and run the full list of labs, click here: . Alternatively, you can use the corresponding links for each lab.
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.
Lab 1 Extra: Uncertainty Propagation
This lab is an extension on the work introduced in Lab 1 of the summer school. It is more advanced, and you should make sure you’ve completed Lab 1 before attempting. It is designed to demonstrate the advantage of using models when we have only a small number of observations of a latent function.
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.
You will need to also download the banana.csv dataset for one of the examples in the lab.
Note: ensure you have installed libraries, particularly
climin, as per the instructions in Getting Started. Installing
$ pip install climin will not work with the labs as this is Python 2 only. Remove it, and follow the instructions.
Lab 2 Extra: Deep Gaussian Processes
This lab introduces regression with hierarchical “deep” Gaussian processes. You will need to have installed
pyDeepGP for this lab.
Lab 3: Global Optimisation with Gaussian Processes
This lab introduces the basic concepts of Bayesian optimisation with GPyOpt. The student will have to build and compare different models and aquisition functions to solve several optimisation problems.