BetaBernoulliMultiArmedBanditSurrogate¶
- class baybe.surrogates.bandit.BetaBernoulliMultiArmedBanditSurrogate[source]¶
Bases:
Surrogate
A multi-armed bandit model with Bernoulli likelihood and beta prior.
Public methods
__init__
([prior])Method generated by attrs for class BetaBernoulliMultiArmedBanditSurrogate.
fit
(searchspace, objective, measurements)Train the surrogate model on the provided data.
from_dict
(dictionary)Create an object from its dictionary representation.
from_json
(string)Create an object from its JSON representation.
posterior
(candidates, /)Compute the posterior for candidates in experimental representation.
Compute the posterior mean win rates for all arms.
Compute the posterior mode win rates for all arms.
Create the botorch-ready representation of the fitted model.
to_dict
()Create an object's dictionary representation.
to_json
()Create an object's JSON representation.
Public attributes and properties
The beta prior for the win rates of the bandit arms.
Class variable encoding whether or not the surrogate supports transfer learning.
- __init__(prior: BetaPrior = NOTHING)¶
Method generated by attrs for class BetaBernoulliMultiArmedBanditSurrogate.
For details on the parameters, see Public attributes and properties.
- fit(searchspace: SearchSpace, objective: Objective, measurements: DataFrame)¶
Train the surrogate model on the provided data.
- Parameters:
searchspace (
SearchSpace
) – The search space in which experiments are conducted.objective (
Objective
) – The objective to be optimized.measurements (
DataFrame
) – The training data in experimental representation.
- Raises:
ValueError – If the search space contains task parameters but the selected surrogate model type does not support transfer learning.
NotImplementedError – When using a continuous search space and a non-GP model.
- Return type:
- posterior(candidates: DataFrame, /)¶
Compute the posterior for candidates in experimental representation.
Takes a dataframe of parameter configurations in experimental representation and returns the corresponding posterior object. Therefore, the method serves as the user-facing entry point for accessing model predictions.
- Parameters:
candidates (
DataFrame
) – A dataframe containing parameter configurations in experimental representation.- Raises:
ModelNotTrainedError – When called before the model has been trained.
- Return type:
Posterior
- Returns:
A
botorch.posteriors.Posterior
object representing the posterior distribution at the given candidate points, where the posterior is also described in experimental representation. That is, the posterior values lie in the same domain as the modelled targets/objective on which the surrogate was trained viabaybe.surrogates.base.Surrogate.fit()
.
- posterior_means()[source]¶
Compute the posterior mean win rates for all arms.
- Return type:
Tensor
- Returns:
A tensor of length
N
containing the posterior mean estimates of the win rates, whereN
is the number of bandit arms.
- posterior_modes()[source]¶
Compute the posterior mode win rates for all arms.
- Return type:
Tensor
- Returns:
A tensor of length
N
containing the posterior mode estimates of the win rates, whereN
is the number of bandit arms. Containsfloat('nan')
for arms with undefined mode.
- to_botorch()[source]¶
Create the botorch-ready representation of the fitted model.
The
botorch.models.model.Model
created by this method needs to be configured such that it can be called with candidate points in computational representation, that is, input of the form as obtained viabaybe.searchspace.core.SearchSpace.transform()
.- Return type:
Model
- to_json()¶
Create an object’s JSON representation.
- Return type:
- Returns:
The JSON representation as a string.
- prior: BetaPrior¶
The beta prior for the win rates of the bandit arms. Uniform by default.
- supports_transfer_learning: ClassVar[bool] = False¶
Class variable encoding whether or not the surrogate supports transfer learning.