Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AcqFunctionThompsonSampling #21

Open
jakob-r opened this issue Sep 24, 2020 · 2 comments
Open

AcqFunctionThompsonSampling #21

jakob-r opened this issue Sep 24, 2020 · 2 comments
Labels
Tag: Contrib (prepared) A contributor should be able to solve this. The issue discussion contains enough info and support. Type: Enhancement

Comments

@jakob-r
Copy link
Member

jakob-r commented Sep 24, 2020

The AcqFun would be one sample of a gaussian process. Also nice for parallelization.

@sumny sumny changed the title Allow for Thompson Sampling AcqFunctionThompsonSampling Sep 29, 2021
@sumny sumny added Tag: Contrib (prepared) A contributor should be able to solve this. The issue discussion contains enough info and support. and removed Priority: Low labels Sep 29, 2021
@sumny
Copy link
Member

sumny commented Sep 29, 2021

Add AcqFunctionThompsonSampling.
As a starting point for Acquisition Functions in general see R/AcqFunctionEI.R and tests/testthat/test_AcqFunctionEI.R.
For some background on simple sequential Thompson Sampling see Algorithm 1 in http://proceedings.mlr.press/v84/kandasamy18a/kandasamy18a.pdf.
We always assume that the posterior is multivariate gaussian (regardless of what kind of surrogate we are using).
For some more info see http://num.pyro.ai/en/stable/examples/thompson_sampling.html.

@sumny
Copy link
Member

sumny commented Sep 30, 2021

Some more clarification:
We cannot assume that we always use a GP as surrogate model that would allow us to get a mean and covariance prediction (and the current infrastructure only returns a mean an sd prediction anyhow).
Therefore, we should actually implement so-called independent Thompson sampling, see e.g. formula 5.5 here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tag: Contrib (prepared) A contributor should be able to solve this. The issue discussion contains enough info and support. Type: Enhancement
Projects
None yet
Development

No branches or pull requests

2 participants