/gprs15a

Gaussian Process Winter School, Genoa, Italy, 2015

Gaussian Process Winter School, Genova, Italy

19th-22nd January 2015

Neil D. Lawrence

Introduction

Welcome to the Gaussian process winter school in Genova in Italy.

This notebook provides you with the guide to your lab classes for the entire school. The lab classes are intended to help get you familiar with modeling with Gaussian processes as well as the principles of probabilistic inference.

The lab classes are based on our GPy software, the most recent release was on 21st November 2014. You can install the GPy framework with

pip install GPy

As well as these lab classes there are a range of tutorials on how to use GPy, many of which are written by members of my research group. GPy is under active development and is released under a BSD license, you'd also be very welcome to contribute!

As well as the GPy software we use our pods software for 'open data science' for access to data sets and other resources.

pip install -pre pods

Background

The first day will review probabilistic inference and introduce Gaussian processes. The lab session will allow you to become familiar with the Jupyter (the ipython notebook) and start to work with Gaussian processes.

  • [Welcome to Jupyter](./jupyter introduction.ipynb) A quick introduction to Jupyter, python and numpy.
  • [Introduction to Probabilistic Regression](./probabilistic interpretations of regression.ipynb) A review of least squares, basis function modelling and the probabilistic interpretation of least squares.
  • [Introduction to Bayesian Regression](./bayesian approach to regression.ipynb) Introducing priors over parameters and averaging over solutions.

Gaussian Processes

The second day will focus on Gaussian process models and developing covariance functions.

  • [Introduction to Gaussian Processes](./gaussian process introduction.ipynb) We move from the Bayesian regression with polynomials to Gaussian process perspectives by looking at the priors over the function directly.
  • [GPy: Introduction through Covariance Functions](./GPy introduction covariance functions.ipynb) GPy is a Python Gaussian process framework that implements many of the ideas we'll see in the course. In this session we introduce its covariance functions and sample from the associated Gaussian processes.
  • [Gaussian Process Regression with GPy](./GPy gaussian process regression.ipynb) In this example we show how to do a simple regression model using Gaussian processes in GPy.
  • [Optimizing Gaussian Processes](./GPy optimizing gaussian processes.ipynb) The parameters of the covariance function can be optimized. In this example we show how to optimize the parameters of the covariance function. (TODO HMC)

Structured Outputs with Gaussian Processes

The third day reviews multiple output Gaussian processes for learning vector valued functions and approximations for Gaussian processes.

  • [Multiple Output GPs](./multiple outputs.ipynb)
  • [TODO Differential Equations and Gaussian Processes](./GP differential equation.ipynb)

Approximations and Dimensionality Reduction

These examples look at latent variable models and approximations for speeding up inference in Gaussian processes and/or making inference tractable.

  • [Low Rank Approximations for Gaussian Processes](./low rank approximations.ipynb)
  • [Non Gaussian Likelihoods](./non gaussian likelihoods.ipynb)
  • [Low Rank and Non Gaussian](./low rank and non gaussian.ipynb)
  • [Dimensionality Reduction with Gaussian Processes](./dimensionality reduction with gaussian processes.ipynb) (TODO check0