Skip to content

Approximations for Gaussian processes: sparse variational inducing point approximations, Laplace approximation, ...

License

Notifications You must be signed in to change notification settings

JuliaGaussianProcesses/ApproximateGPs.jl

Repository files navigation

ApproximateGPs

Docs CI Codecov Code Style: Blue ColPrac: Contributor's Guide on Collaborative Practices for Community Packages

Aim of this package

Provide various algorithms for approximate inference in latent Gaussian process models, currently focussing on non-conjugate (non-Gaussian) likelihoods and sparse approximations.

Structure

Each approximation lives in its own submodule (<Approximation>Module), though in general using the exported API is sufficient.

The main API is:

  • posterior(approximation, lfx::LatentFiniteGP, ys) to obtain the posterior approximation to lfx conditioned on the observations ys.

  • approx_lml(approximation, lfx::LatentFiniteGP, ys) which returns the marginal likelihood approximation that can be used for hyperparameter optimisation.

Currently implemented approximations:

  • LaplaceApproximation

  • SparseVariationalApproximation

    NOTE: requires optimisation of the variational distribution even for fixed hyperparameters.