mlr_acqfunctions_ei {mlr3mbo} | R Documentation |
Acquisition Function Expected Improvement
Description
Expected Improvement.
Dictionary
This AcqFunction can be instantiated via the dictionary
mlr_acqfunctions or with the associated sugar function acqf()
:
mlr_acqfunctions$get("ei") acqf("ei")
Parameters
-
"epsilon"
(numeric(1)
)
\epsilon
value used to determine the amount of exploration. Higher values result in the importance of improvements predicted by the posterior mean decreasing relative to the importance of potential improvements in regions of high predictive uncertainty. Defaults to0
(standard Expected Improvement).
Super classes
bbotk::Objective
-> mlr3mbo::AcqFunction
-> AcqFunctionEI
Public fields
y_best
(
numeric(1)
)
Best objective function value observed so far. In the case of maximization, this already includes the necessary change of sign.
Methods
Public methods
Inherited methods
Method new()
Creates a new instance of this R6 class.
Usage
AcqFunctionEI$new(surrogate = NULL, epsilon = 0)
Arguments
surrogate
(
NULL
| SurrogateLearner).epsilon
(
numeric(1)
).
Method update()
Update the acquisition function and set y_best
.
Usage
AcqFunctionEI$update()
Method clone()
The objects of this class are cloneable with this method.
Usage
AcqFunctionEI$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
References
Jones, R. D, Schonlau, Matthias, Welch, J. W (1998). “Efficient Global Optimization of Expensive Black-Box Functions.” Journal of Global optimization, 13(4), 455–492.
See Also
Other Acquisition Function:
AcqFunction
,
mlr_acqfunctions
,
mlr_acqfunctions_aei
,
mlr_acqfunctions_cb
,
mlr_acqfunctions_ehvi
,
mlr_acqfunctions_ehvigh
,
mlr_acqfunctions_eips
,
mlr_acqfunctions_mean
,
mlr_acqfunctions_multi
,
mlr_acqfunctions_pi
,
mlr_acqfunctions_sd
,
mlr_acqfunctions_smsego
,
mlr_acqfunctions_stochastic_cb
,
mlr_acqfunctions_stochastic_ei
Examples
if (requireNamespace("mlr3learners") &
requireNamespace("DiceKriging") &
requireNamespace("rgenoud")) {
library(bbotk)
library(paradox)
library(mlr3learners)
library(data.table)
fun = function(xs) {
list(y = xs$x ^ 2)
}
domain = ps(x = p_dbl(lower = -10, upper = 10))
codomain = ps(y = p_dbl(tags = "minimize"))
objective = ObjectiveRFun$new(fun = fun, domain = domain, codomain = codomain)
instance = OptimInstanceBatchSingleCrit$new(
objective = objective,
terminator = trm("evals", n_evals = 5))
instance$eval_batch(data.table(x = c(-6, -5, 3, 9)))
learner = default_gp()
surrogate = srlrn(learner, archive = instance$archive)
acq_function = acqf("ei", surrogate = surrogate)
acq_function$surrogate$update()
acq_function$update()
acq_function$eval_dt(data.table(x = c(-1, 0, 1)))
}