qThompsonSampling¶
- class baybe.acquisition.acqfs.qThompsonSampling[source]¶
Bases:
qSimpleRegret
Thomson sampling, implemented via simple regret. Inherently Monte Carlo based.
This implementation exploits the fact that one-sample-based Thompson sampling (i.e. where the action probability is approximated using a single posterior sample) is equivalent to optimizing the Monte Carlo approximated posterior mean with sample size one. The latter can be achieved via qSimpleRegret and controlling its sample shape attribute.
Public methods
__init__
()Method generated by attrs for class qThompsonSampling.
evaluate
(candidates, surrogate, searchspace, ...)Get the acquisition values for the given candidates.
from_dict
(dictionary)Create an object from its dictionary representation.
from_json
(string)Create an object from its JSON representation.
to_botorch
(surrogate, searchspace, ...[, ...])Create the botorch-ready representation of the function.
to_dict
()Create an object's dictionary representation.
to_json
()Create an object's JSON representation.
Public attributes and properties
Number of Monte Carlo samples drawn from the posterior at each design point.
An alternative name for type resolution.
Whether this acquisition function can handle models with multiple outputs.
- __init__()¶
Method generated by attrs for class qThompsonSampling.
For details on the parameters, see Public attributes and properties.
- evaluate(candidates: DataFrame, surrogate: SurrogateProtocol, searchspace: SearchSpace, objective: Objective, measurements: DataFrame, pending_experiments: DataFrame | None = None, *, jointly: bool = False)¶
Get the acquisition values for the given candidates.
- Parameters:
candidates (
DataFrame
) – The candidate points in experimental representation. For details, seebaybe.surrogates.base.Surrogate.posterior()
.surrogate (
SurrogateProtocol
) – The surrogate model to use for the acquisition function.searchspace (
SearchSpace
) – The search space. Seebaybe.recommenders.base.RecommenderProtocol.recommend()
.objective (
Objective
) – The objective. Seebaybe.recommenders.base.RecommenderProtocol.recommend()
.measurements (
DataFrame
) – Available experimentation data. Seebaybe.recommenders.base.RecommenderProtocol.recommend()
.pending_experiments (
Optional
[DataFrame
]) – Optional pending experiments. Seebaybe.recommenders.base.RecommenderProtocol.recommend()
.jointly (
bool
) – IfFalse
, the acquisition values are computed independently for each candidate. IfTrue
, a single joint acquisition value is computed for the entire candidate set.
- Return type:
- Returns:
Depending on the joint mode, either a single batch acquisition value or a series of individual acquisition values.
- to_botorch(surrogate: SurrogateProtocol, searchspace: SearchSpace, objective: Objective, measurements: DataFrame, pending_experiments: DataFrame | None = None)¶
Create the botorch-ready representation of the function.
The required structure of measurements is specified in
baybe.recommenders.base.RecommenderProtocol.recommend()
.- Return type:
- to_json()¶
Create an object’s JSON representation.
- Return type:
- Returns:
The JSON representation as a string.