Sparse Online Gaussian Processes

These pages present a method for probabilistic (Bayesian) inference using Gaussian Processes (GPs). The main advantage is the combination of a non-parametric and a probabilistic framework: GPs are probabilistic kernel machines.
The online GP inference provides an approximation to the posterior process is a GP, meaning that one has the possibility of assessing posterior uncertainty of predictions. The approximations are such that they allow a sparse representation of the posterior and it is applicable to a wide variety of models.
These pages
  1. explain the approximations used in the inference process,
  2. present examples of applying the sparse GP algorithm (regression, robust regression, classification and data assimilation), and
  3. provide user-friendly implementation environment (source codes and hyper-text help).

Implementation

The code for the algorithms is provided as a MATLAB package and is built on the freely available NETLAB package (developed by Ian Nabney) which implements general pattern recognition algorithms.
The source code and documentation is available for download in the Code section of these pages. The "Hello World" example program for GP inference, which is the regression using Gaussian noise is presented and explained there.
Additionally to the simple example programs, the package also includes two demonstration programs with GUI.
  1. Regression example

    In a first example program (demogp_reg_gui), one generates noisy realisations of the sinc function. The type and amplitude of the noise and the model parameters can be set manually.
    Using the default settings and generating 40 training points, the result of learning (before the hyper-parameter adaptation) is visualised in the image below.
    Regression GUI - initial stage
    For details see Regression examples.
  2. Classification example

    Similarly to the previous section, the program (demogp_class_gui) illustrates the Sparse GP inference for binary classification.
    Classification GUI - final stage
    For details see Classification examples.

Questions, comments, suggestions: contact Lehel Csató.