Learn R Programming

⚠️There's a newer version (1.1.5.1) of this package.Take me there.

mlrMBO

Package website: mlrmbo.mlr-org.com

Model-based optimization with mlr.

Installation

We recommend to install the official release version:

install.packages("mlrMBO")

For experimental use you can install the latest development version:

remotes::install_github("mlr-org/mlrMBO")

Introduction

mlrMBO is a highly configurable R toolbox for model-based / Bayesian optimization of black-box functions.

Features:

  • EGO-type algorithms (Kriging with expected improvement) on purely numerical search spaces, see Jones et al. (1998)
  • Mixed search spaces with numerical, integer, categorical and subordinate parameters
  • Arbitrary parameter transformation allowing to optimize on, e.g., logscale
  • Optimization of noisy objective functions
  • Multi-Criteria optimization with approximated Pareto fronts
  • Parallelization through multi-point batch proposals
  • Parallelization on many parallel back-ends and clusters through batchtools and parallelMap

For the surrogate, mlrMBO allows any regression learner from mlr, including:

  • Kriging aka. Gaussian processes (i.e. DiceKriging)
  • random Forests (i.e. randomForest)
  • and many more…

Various infill criteria (aka. acquisition functions) are available:

  • Expected improvement (EI)
  • Upper/Lower confidence bound (LCB, aka. statistical lower or upper bound)
  • Augmented expected improvement (AEI)
  • Expected quantile improvement (EQI)
  • API for custom infill criteria

Objective functions are created with package smoof, which also offers many test functions for example runs or benchmarks.

Parameter spaces and initial designs are created with package ParamHelpers.

How to Cite

Please cite our arxiv paper (Preprint). You can get citation info via citation("mlrMBO") or copy the following BibTex entry:

@article{mlrMBO,
  title = {{{mlrMBO}}: {{A Modular Framework}} for {{Model}}-{{Based Optimization}} of {{Expensive Black}}-{{Box Functions}}},
  url = {https://arxiv.org/abs/1703.03373},
  shorttitle = {{{mlrMBO}}},
  archivePrefix = {arXiv},
  eprinttype = {arxiv},
  eprint = {1703.03373},
  primaryClass = {stat},
  author = {Bischl, Bernd and Richter, Jakob and Bossek, Jakob and Horn, Daniel and Thomas, Janek and Lang, Michel},
  date = {2017-03-09},
}

Some parts of the package were created as part of other publications. If you use these parts, please cite the relevant work appropriately:

Copy Link

Version

Install

install.packages('mlrMBO')

Monthly Downloads

2,219

Version

1.1.5

License

BSD_2_clause + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

October 23rd, 2020

Functions in mlrMBO (1.1.5)

error_handling

Error handling for mlrMBO
exampleRunMultiObj

Perform an MBO run on a multi-objective test function and and visualize what happens.
mbo_parallel

Parallelization in mlrMBO
exampleRun

Perform an mbo run on a test function and and visualize what happens.
mlrMBO_examples

mlrMBO examples
updateSMBO

Updates SMBO with the new observations
trafos

Transformation methods.
getSupportedMultipointInfillOptFunctions

Get names of supported multi-point infill-criteria optimizers.
getSupportedInfillOptFunctions

Get names of supported infill-criteria optimizers.
finalizeSMBO

Finalizes the SMBO Optimization
MBOSingleObjResult

Single-Objective result object.
makeMBOLearner

Generate default learner.
OptProblem

OptProblem object.
makeMBOTrafoFunction

Create a transformation function for MBOExampleRun.
makeMBOControl

Set MBO options.
mbo

Optimizes a function with sequential model based optimization.
mboContinue

Continues an mbo run from a save-file.
proposePoints

Propose candidates for the objective function
mboFinalize

Finalizes an mbo run from a save-file.
renderExampleRunPlot

Renders plots for exampleRun objects, either in 1D or 2D, or exampleRunMultiObj objects.
OptState

OptState object.
getGlobalOpt

Helper function which returns the (estimated) global optimum.
OptResult

OptResult object.
initCrit

Initialize an MBO infill criterion.
plot.OptState

Generate ggplot2 Object
infillcrits

Infill criteria.
mbo_OptPath

OptPath in mlrMBO
plotExampleRun

Renders plots for exampleRun objects and displays them.
setMBOControlInfill

Extends mbo control object with infill criteria and infill optimizer options.
setMBOControlMultiObj

Set multi-objective options.
plotMBOResult

MBO Result Plotting
print.MBOControl

Print mbo control object.
getMBOInfillCrit

Get properties of MBO infill criterion.
setMBOControlTermination

Set termination options.
setMBOControlMultiPoint

Set multipoint proposal options.
makeMBOInfillCrit

Create an infill criterion.
MBOMultiObjResult

Multi-Objective result object.
initSMBO

Initialize a manual sequential MBO run.