This project implements Bayesian Quadrature on top of GPytorch.
Bayesian Quadrature (BQ) is a probabilistic method to approximate an integral in the form of
or
The latter integral is usually appeared in Bayesian inference.BQ can be useful when is expensive to compute, prohibited to perform Monte Carlo estimation.
The main idea is to use Gaussian Process (GP) as a surrogate function for the true and the linearity of GP. Since integral is just a linear operator, we can obtain a new GP after apply it over a GP. Let's say
After observing , the integral follows a multivariate normal distribution:
where and with .Discussion on limitations of BQ:
- is restricted to a certain family (normal, uniform) to have closed-formed solutions for
- BQ is applied in low-dimensional spaces rather than high-dimensional settings.
Python >= 3.6
Pytorch ==1.3
GPytorch == 0.3.6