dfm / george

Fast and flexible Gaussian Process regression in Python
http://george.readthedocs.io
MIT License
450 stars 128 forks source link

Add 'online' sampling (conditioned on observations) #93

Open ranr01 opened 6 years ago

ranr01 commented 6 years ago

For some applications (e.g. Thompson sampling) it is required to perform some kind of optimization on a sample function from the posterior GP.

Right now the conditional sampling of the GP object only operates on a batch of input points that are chosen in advance. For most optimization algorithms one needs to get the sample function's values in an 'online' fashion (i.e. evaluating the same sample function but with multiple function calls). This is particularity important for high dimensional input where a naive 'grid and interpolate' solution is infeasible.

It would be great if the GP object can provide an object that implements this functionality.

BTW George looks like a very nice piece of code. Very well written and easy to understand.

Thanks, Ran

ranr01 commented 6 years ago

I've written a class to (naively) implement this. If there is an interest to incorporate it I can create a pull request for it.