Project details for GPML Gaussian Processes for Machine Learning Toolbox

Screenshot GPML Gaussian Processes for Machine Learning Toolbox 3.0

by hn - July 23, 2010, 12:13:58 CET [ Project Homepage BibTeX Download ]

view (22 today), download ( 3 today ), 4 subscriptions

OverallWhole StarWhole StarWhole StarWhole StarWhole Star
FeaturesWhole StarWhole StarWhole StarWhole StarWhole Star
UsabilityWhole StarWhole StarWhole StarWhole StarWhole Star
DocumentationWhole StarWhole StarWhole StarWhole StarWhole Star
(based on 2 votes)

The GPML toolbox implements approximate inference algorithms for Gaussian processes such as Expectation Propagation, the Laplace Approximation and Variational Bayes for a wide class of likelihood functions for both regression and classification. It comes with a big algebra of covariance and mean functions allowing for flexible modeling. The code is fully compatible to Octave 3.2.x.

Changes to previous version:

Initial Announcement on

BibTeX Entry: Download
URL: Project Homepage
Supported Operating Systems: Agnostic, Platform Independent
Data Formats: Matlab, Octave
Tags: Classification, Regression, Approximate Inference, Gaussian Processes
Archive: download here

Other available revisons

Version Changelog Date

A major code restructuring effort did take place in the current release unifying certain inference functions and allowing more flexibility in covariance function composition. We also redesigned the whole derivative computation pipeline to strongly improve the overall runtime. We finally include grid-based covariance approximations natively.

More generic sparse approximation using Power EP

  • unified treatment of FITC approximation, variational approaches VFE and hybrids

  • inducing input optimisation for all (compositions of) covariance functions dropping the previous limitation to a few standard examples

  • infFITC is now covered by the more generic infGaussLik function

Approximate covariance object unifying sparse approximations, grid-based approximations and exact covariance computations

  • implementation in cov/apx, cov/apxGrid, cov/apxSparse

  • generic infGaussLik unifies infExact, infFITC and infGrid

  • generic infLaplace unifies infLaplace, infFITC_Laplace and infGrid_Laplace

Hiearchical structure of covariance functions

  • clear hierachical compositional implementation

  • no more code duplication as present in covSEiso and covSEard pairs

  • two mother covariance functions

    • covDot for dot-product-based covariances and

    • covMaha for Mahalanobis-distance-based covariances

  • a variety of modifiers: eye, iso, ard, proj, fact, vlen

  • more flexibility as more variants are available and possible

  • all covariance functions offer derivatives w.r.t. inputs

Faster derivative computations for mean and cov functions

  • switched from partial derivatives to directional derivatives

  • simpler and more concise interface of mean and cov functions

  • much faster marginal likelihood derivative computations

  • simpler and more compact code

New mean functions

  • new mean/meanWSPC (Weighted Sum of Projected Cosines or Random Kitchen Sink features) following a suggestion by William Herlands

  • new mean/meanWarp for constructing a new mean from an existing one by means of a warping function adapted from William Herlands

New optimizer

  • added a new minimize_minfunc, contributed by Truong X. Nghiem

New GLM link function

  • added the twice logistic link function util/glm_invlink_logistic2

Smaller fixes

  • two-fold speedup of util/elsympol used by covADD by Truong X. Nghiem

  • bugfix in util/logphi as reported by John Darby

October 19, 2016, 10:15:05
  • added a new inference function infGrid_Laplace allowing to use non-Gaussian likelihoods for large grids

  • fixed a bug due to Octave evaluating norm([]) to a tiny nonzero value, modified all lik/lik*.m functions reported by Philipp Richter

  • small bugfixes in covGrid and infGrid

  • bugfix in predictive variance of likNegBinom due to Seth Flaxman

  • bugfix in infFITC_Laplace as suggested by Wu Lin

  • bugfix in covPP{iso,ard}

July 6, 2015, 12:31:28
  • mechanism for specifying hyperparameter priors (together with Roman Garnett and José Vallet)
  • new inference method inf/infGrid allowing efficient inference for data defined on a Cartesian grid (together with Andrew Wilson)
  • new mean/cov functions for preference learning: meanPref/covPref
  • new mean/cov functions for non-vectorial data: meanDiscrete/covDiscrete
  • new piecewise constant nearest neighbor mean function: meanNN
  • new mean functions being predictions from GPs: meanGP and meanGPexact
  • new covariance function for standard additive noise: covEye
  • new covariance function for factor analysis: covSEfact
  • new covariance function with varying length scale : covSEvlen
  • make covScale more general to scaling with a function instead of a scalar
  • bugfix in covGabor* and covSM (due to Andrew Gordon Wilson)
  • bugfix in lik/likBeta.m (suggested by Dali Wei)
  • bugfix in solve_chol.c (due to Todd Small)
  • bugfix in FITC inference mode (due to Joris Mooij) where the wrong mode for post.L was chosen when using infFITC and post.L being a diagonal matrix
  • bugfix in infVB marginal likelihood for likLogistic with nonzero mean function (reported by James Lloyd)
  • removed the combination likErf/infVB as it yields a bad posterior approximation and lacks theoretical justification
  • Matlab and Octave compilation for L-BFGS-B v2.4 and the more recent L-BFGS-B v3.0 (contributed by José Vallet)
  • smaller bugfixes in gp.m (due to Joris Mooij and Ernst Kloppenburg)
  • bugfix in lik/likBeta.m (due to Dali Wei)
  • updated use of logphi in lik/likErf
  • bugfix in util/solve_chol.c where a typing issue occured on OS X (due to Todd Small)
  • bugfix due to Bjørn Sand Jensen noticing that cov_deriv_sq_dist.m was missing in the distribution
  • bugfix in infFITC_EP for ttau->inf (suggested by Ryan Turner)
December 8, 2014, 13:54:38
  • derivatives w.r.t. inducing points xu in infFITC, infFITC_Laplace, infFITC_EP so that one can treat the inducing points either as fixed given quantities or as additional hyperparameters
  • new GLM likelihood likExp for inter-arrival time modeling
  • new GLM likelihood likWeibull for extremal value regression
  • new GLM likelihood likGumbel for extremal value regression
  • new mean function meanPoly depending polynomially on the data
  • infExact can deal safely with the zero noise variance limit
  • support of GP warping through the new likelihood function likGaussWarp
November 11, 2013, 14:46:52
  • new generalised linear model likelihoods: gamma, beta, inverse Gaussian
  • new ard/iso covariances: covPPard, covMaternard, covLINiso
  • new spectral covariances: covSM, covGaboriso and covGaborard
  • new meta covariance to turn an arbitrary stationary covariance into a periodic covariance one: covPERard, covPERiso
  • new periodic covariance with zero DC component and correct scaling: covPeriodicNoDC, covCos
  • new variational inference approximation based on direct KL minimisation: infKL
  • improved inf/infVB double loop scheme so that only very few likelihood properties are required; infVB is now internally a sequence of infLaplace runs
  • improved inf/infLaplace to be more generic so that optimisers other than scaled Newton can be used
  • improved inf/infEP so that the internal variables (mu,Sigma) now represent the current posterior approximation
October 22, 2013, 15:34:05

We now support inference on large datasets using the FITC approximation for non-Gaussian likelihoods for EP and Laplace's approximation. New likelihood functions: mixture likelihood, Poisson likelihood, label noise. We added two MCMC samplers.

January 21, 2013, 15:34:50

We now support inference on large datasets using the FITC approximation by Ed Snelson. The covariance function interface had to be slightly modified.

September 28, 2010, 05:51:56

Initial Announcement on

July 23, 2010, 12:13:58


No one has posted any comments yet. Perhaps you'd like to be the first?

Leave a comment

You must be logged in to post comments.