A non-linear inverse problem solver with Gaussian Process prior.
We consider the following inverse problem,
where
y is the noisy observation of
some transform of the latent function f.
e is noise component.
F is a function that is specific to the problem.
For solving this inverse problem, a prior knowledge is necessary.
In GPinv, we assume f follows Gaussian Process.
Currently, GPinv supports
- Stochastic Variational Gaussian Process solver (StVGP).
- Markov Chain Monte-Carlo method (GPMC).
The theoretical background for StVGP can be found in Notebook (coming soon)
For the usage, see the following examples,
Abel's inversion
Spectroscopic extension of Abel's inversion
GPinv heavily depends on
- TensorFlow: a Large-Scale Machine Learning library.
- GPflow: a package for building Gaussian process models in python using TensorFlow.
Before installing GPinv, these two libreries must be installed.
For the TensorFlow installation, see here.
For the GPflow installation, type
git clone https://github.com/GPflow/GPflow.git
cd GPflow
python setup.py develop
For the GPinv installation, type
python setup.py install