The infill criterion guides the model based search process. The most prominent infill criteria, e.g., expected improvement, lower confidence bound and others, are already implemented in mlrMBO. Moreover, the package allows for the creation of custom infill criteria.

makeMBOInfillCrit(fun, name, id, opt.direction = "minimize",
  components = character(0L), params = list(), requires.se = FALSE)

Arguments

fun

[function(points, models, control, par.set, design, iter)]
A function which expects the following parameters in exactly this order and return a numeric vector of criteria values at the points:

points [data.frame]

n points where to evaluate.

models [WrappedModel | list]

Model(s) fitted on design.

control [MBOControl]

Control object.

par.set [ParamSet]

Parameter set.

design [data.frame]

Design of already visited points.

iter [integer(1)]

Current iteration.

progress [numeric{1}]

A value between 0 and 1 indicating the progress of the optimization.

attributes [logical{1}]

Are there attributes appended to the return value that should be added to the OptPath?

Important: Internally, this function will be minimized. So the proposals will be where this function is low.

name

[character(1)]
Full name of the criterion.

id

[character(1)]
Short name of the criterion. Used internally and in plots.

opt.direction

[character(1)]
Only for visualization: Shall this criterion be plotted as if it were to be minimized (minimize), maximized (maximize) or is the direction the same as for the objective function (objective)? Default is minimize.

components

[character]
Infill criteria may not return proposed point(s) only. Additional information can be returned by appending a named list “crit.components” to the returned value as an attribute. The components argument takes a character vector of the names of the meta information, i.e., the names of the named “crit.components” list. Default is the empty character vector.

params

[list]
Named list of parameters for the infill criterion. There values may be used by mlrMBO internally. Default is the empty list.

requires.se

[logical(1)]
Does the infill criterion require the regression learner to provide a standard error estimation? Default is FALSE.

Value

[MBOInfillCrit]

Predefined standard infill criteria

crit.ei

Expected Improvement

crit.mr

Mean response

crit.se

Standard error

crit.cb

Confidence bound with lambda automatically chosen, see infillcrits

crit.cb1

Confidence bound with lambda=1

crit.cb2

Confidence bound with lambda=2

crit.aei

Augmented expected improvement

crit.eqi

Expected quantile improvement

crit.dib1

Direct indicator-based with lambda=1