syne_tune.optimizer.schedulers.searchers.bayesopt.models.meanstd_acqfunc_impl module
- class syne_tune.optimizer.schedulers.searchers.bayesopt.models.meanstd_acqfunc_impl.EIAcquisitionFunction(predictor, active_metric=None, jitter=0.01, debug_collect_stats=False)[source]
Bases:
MeanStdAcquisitionFunction
Minus expected improvement acquisition function (minus because the convention is to always minimize acquisition functions)
- class syne_tune.optimizer.schedulers.searchers.bayesopt.models.meanstd_acqfunc_impl.LCBAcquisitionFunction(predictor, kappa, active_metric=None)[source]
Bases:
MeanStdAcquisitionFunction
Lower confidence bound (LCB) acquisition function:
\[h(\mu, \sigma) = \mu - \kappa * \sigma\]
- class syne_tune.optimizer.schedulers.searchers.bayesopt.models.meanstd_acqfunc_impl.EIpuAcquisitionFunction(predictor, active_metric=None, exponent_cost=1.0, jitter=0.01)[source]
Bases:
MeanStdAcquisitionFunction
Minus cost-aware expected improvement acquisition function.
This is defined as
\[\mathrm{EIpu}(x) = \frac{\mathrm{EI(x)}}{\mathrm{power}(\mathrm{cost}(x), \mathrm{exponent_cost})},\]where \(\mathrm{EI}(x)\) is expected improvement, \(\mathrm{cost}(x)\) is the predictive mean of a cost model, and
exponent_cost
is an exponent in \((0, 1]\).exponent_cost
scales the influence of the cost term on the acquisition function. See also:Note: two metrics are expected in the model output: the main objective and the cost. The main objective needs to be indicated as
active_metric
when initializingEIpuAcquisitionFunction
. The cost is automatically assumed to be the other metric.
- class syne_tune.optimizer.schedulers.searchers.bayesopt.models.meanstd_acqfunc_impl.ConstraintCurrentBestProvider(current_best_list, num_samples_active)[source]
Bases:
CurrentBestProvider
Here,
current_best
depends on two predictors, for active and constraint metric.
- class syne_tune.optimizer.schedulers.searchers.bayesopt.models.meanstd_acqfunc_impl.CEIAcquisitionFunction(predictor, active_metric=None, jitter=0.01)[source]
Bases:
MeanStdAcquisitionFunction
Minus constrained expected improvement acquisition function. (minus because the convention is to always minimize the acquisition function)
This is defined as
CEI(x) = EI(x) * P(c(x) <= 0)
, whereEI
is the standard expected improvement with respect to the current feasible best, andP(c(x) <= 0)
is the probability that the hyperparameter configurationx
satisfies the constraint modeled byc(x)
.If there are no feasible hyperparameters yet, the current feasible best is undefined. Thus,
CEI
is reduced to theP(c(x) <= 0)
term until a feasible configuration is found.Two metrics are expected in the model output: the main objective and the constraint metric. The main objective needs to be indicated as
active_metric
when initializingCEIAcquisitionFunction
. The constraint is automatically assumed to be the other metric.References on
CEI
:Gardner et al.Bayesian Optimization with Inequality ConstraintsICML 2014and
Gelbart et al.Bayesian Optimization with Unknown ConstraintsUAI 2014.
- syne_tune.optimizer.schedulers.searchers.bayesopt.models.meanstd_acqfunc_impl.get_quantiles(acquisition_par, fmin, m, s)[source]
Quantiles of the Gaussian distribution, useful to determine the acquisition function values.
- Parameters:
acquisition_par – parameter of the acquisition function
fmin – current minimum.
m – vector of means.
s – vector of standard deviations.