There is a common effort to bring the GP people together through the JuliaGP organization. We work on making the building blocks necessary for GP such as KernelFunctions.jl for kernels, AbstractGPs.jl for the basic GP definitions and more is coming. The long-term goal is to have AGP.jl depend on all of this elements and to use it as a wrapper.
There are already two other Gaussian Process packages in Julia, however their feature are quite orthogonal. They are roughly compared here: AGP.jl stands for AugmentedGaussianProcesses.jl and GP.jl for GaussianProcesses.jl
Likelihood | AGP.jl | Stheno.jl | GP.jl |
---|
Gaussian | โ | โ (multi-input/multi-output) | โ |
Student-T | โ | โ | โ |
Bernoulli | โ (Logistic) | โ | โ (Probit) |
Bayesian-SVM | โ | โ | โ |
Poisson | โ | โ | โ |
NegativeBinomial | โ | โ | โ |
Exponential | โ | โ | โ |
MultiClass | โ | โ | โ |
Inference | AGP.jl | Stheno.jl | GP.jl |
---|
Analytic (Gaussian only) | โ | โ | โ |
Variational Inference | โ (Analytic and Num. Appr.) | โ | โ |
Streaming VI | โ | โ | โ |
Gibbs-Sampling | โ | โ | โ |
MCMC | โ | โ | โ |
Expec. Propag. | โ | โ | โ |
Kernel | AGP.jl | Stheno.jl | GP.jl |
---|
RBF/Squared Exponential | โ | โ | โ |
Matern | โ | โ | โ |
Const | โ | โ | โ |
Linear | โ | โ | โ |
Poly | โ | โ | โ |
Periodic | โ | โ | โ |
Exponentiated Quadratic | โ | โ | โ |
Rational Quadratic | โ | โ | โ |
Wiener | โ | โ | โ |
Sum of kernel | โ | โ | โ |
Product of kernels | โ | โ | โ |
Note that the kernels will be defered to MLKernels.jl
in the future.
Feature | AGP.jl | Stheno.jl | GP.jl |
---|
Sparse GP | โ | โ | โ |
Custom prior Mean | โ | โ | โ |
Hyperparam. Opt. | โ | ? | โ |
MultiOutput | โ | โ | โ |
Online | โ | โ | โ |