This issue covers adding a VGP model, a full Variational Gaussian Process, that performs deterministic, gradient-based variational inference for non-Gaussian likelihoods on the full (non-sparse) GP, with no inducing points. The variational posterior q(f) = N(m, S) is placed directly over the latent function at the training inputs, and we maximize the ELBO, which is the sum over points of E_q(f_i)[log p(y_i | f_i)] minus KL[q(f) || p(f)]. The method follows Opper and Archambeau (2009), "The Variational Gaussian Approximation Revisited," Neural Computation 21(3), which shows the optimal Gaussian posterior needs only O(N) variational parameters.
The goal is to let users fit arbitrary likelihoods (Poisson, Student-t, Bernoulli, negative-binomial, and user-defined) on a small-to-moderate-N GP while getting a proper lower bound on the marginal likelihood. It fits naturally into the existing fit/predict workflow and reuses the existing variational-expectation quadrature, gauss_kl, and conditional machinery.
This work will also add support for composite likelihoods, meaning different likelihood factors on different observations (for example, some y_i under a Student-t likelihood and others interval-censored). Because the ELBO data term is a sum over independent points, each point can carry its own likelihood factor, so a combinator that dispatches per observation composes directly with the VGP objective.
The gap it fills: today a non-Gaussian likelihood forces SVGP, which brings inducing-point machinery whose only purpose is scaling. That is unnecessary at small N and introduces an approximation you do not want there. gp.Unapproximated is Gaussian-only, so there is currently no way to use a non-Gaussian likelihood on a full GP without the inducing-point approximation. VGP fills that slot. Conceptually it is SVGP with the inducing points pinned to the data and the Nystrom gap removed.
This issue covers adding a VGP model, a full Variational Gaussian Process, that performs deterministic, gradient-based variational inference for non-Gaussian likelihoods on the full (non-sparse) GP, with no inducing points. The variational posterior q(f) = N(m, S) is placed directly over the latent function at the training inputs, and we maximize the ELBO, which is the sum over points of E_q(f_i)[log p(y_i | f_i)] minus KL[q(f) || p(f)]. The method follows Opper and Archambeau (2009), "The Variational Gaussian Approximation Revisited," Neural Computation 21(3), which shows the optimal Gaussian posterior needs only O(N) variational parameters.
The goal is to let users fit arbitrary likelihoods (Poisson, Student-t, Bernoulli, negative-binomial, and user-defined) on a small-to-moderate-N GP while getting a proper lower bound on the marginal likelihood. It fits naturally into the existing fit/predict workflow and reuses the existing variational-expectation quadrature, gauss_kl, and conditional machinery.
This work will also add support for composite likelihoods, meaning different likelihood factors on different observations (for example, some y_i under a Student-t likelihood and others interval-censored). Because the ELBO data term is a sum over independent points, each point can carry its own likelihood factor, so a combinator that dispatches per observation composes directly with the VGP objective.
The gap it fills: today a non-Gaussian likelihood forces SVGP, which brings inducing-point machinery whose only purpose is scaling. That is unnecessary at small N and introduces an approximation you do not want there. gp.Unapproximated is Gaussian-only, so there is currently no way to use a non-Gaussian likelihood on a full GP without the inducing-point approximation. VGP fills that slot. Conceptually it is SVGP with the inducing points pinned to the data and the Nystrom gap removed.