activeREMBO | R Documentation |
REMBO for unconstrained problems, with changing embedding
activeREMBO(
par,
fn,
lower,
upper,
budget,
...,
highDimGP,
useAScrit = FALSE,
ASalternative = FALSE,
homcontrol = list(beta0 = 0, covtype = "Matern5_2", g = sqrt(.Machine$double.eps)),
kmcontrol = list(covtype = "matern5_2", iso = TRUE, covreestim = TRUE, formula = ~1),
control = list(Atype = "isotropic", reverse = TRUE, bxsize = NULL, testU = TRUE,
standard = FALSE, maxitOptA = 100, lightreturn = FALSE, warping = "Psi", designtype =
"unif", tcheckP = 1e-04, roll = F, returnAS = TRUE, plotting = FALSE, inneroptim =
"pso", popsize = 80, gen = 40),
init = NULL
)
par |
vector whose length is used to define the initial DoE or just the low dimension |
fn |
function to be minimized over |
lower, upper |
bounds for optimization |
budget |
total number of calls to the objective function |
... |
additional parameters of fn |
highDimGP |
should the GP use true design values? |
useAScrit |
should an optimization on a sequential active subspace identification criterion be performed in the orthogonal? |
ASalternative |
alternate between AS criterion and EI |
kmcontrol |
an optional list of control parameters to be passed to the |
control |
an optional list of control parameters. See "Details" |
init |
optional list with elements |
Options available from control
are:
Atype
see selectA
;
reverse
if TRUE
, use the new mapping from the zonotope,
otherwise the original mapping with convex projection;
bxsize
scalar controling the box size in the low-dimensional space;
testU
with the regular mapping, set to TRUE
to check that points are in U (to avoid non-injectivity);
standard
for using settings of the original REMBO method;
maxitOptA
if Atype
is optimized
, number of optimization iterations;
lightreturn
only returns par
and value
;
warping
either "standard"
for kY, "kX"
or "Psi"
;
designtype
one of "LHS
", "maximin
" and "unif
",
see designZ
or designU
;
tcheckP
minimal distance to an existing solution, see checkPredict
roll
to alternate between optimization methods;
inneroptim
optimization method for EI
popsize, gen
population size and number of optimization generations of EI
Mickael Binois
O. Roustant, D. Ginsbourger & Y. Deville, DiceKriging, DiceOptim: Two R Packages for the Analysis of Computer Experiments by Kriging-Based Metamodeling and Optimization Journal of Statistical Software, 2012, 51, 1-55
Z. Wang, F. Hutter, M. Zoghi, D. Matheson, N. de Freitas (2016), Bayesian Optimization in a Billion Dimensions via Random Embeddings, JAIR.
M. Binois, D. Ginsbourger, O. Roustant (2015), A Warped Kernel Improving Robustness in Bayesian Optimization Via Random Embeddings, Learning and Intelligent Optimization, Springer
M. Binois, D. Ginsbourger, O. Roustant (2018), On the choice of the low-dimensional domain for global optimization via random embeddings, arXiv:1704.05318
M. Binois (2015), Uncertainty quantification on Pareto fronts and high-dimensional strategies in Bayesian optimization, with applications in multi-objective automotive design, PhD thesis, Mines Saint-Etienne.
## Not run:
set.seed(42)
library(rgl)
library(DiceKriging)
lowd <- 2
highD <- 25
ntest <- 50
maxEval <- 100
res <- rep(0, ntest)
for(i in 1:ntest){
#ii <- sample(1:highD, 2)
ii <- c(1,2)
branin_mod2 <- function(X){
if(is.null(nrow(X))) X <- matrix(X, nrow = 1)
X <- X[, c(ii[1], ii[2]), drop = FALSE]
return(apply(X, 1, branin))
}
sol <- activeREMBO(par = rep(NA, lowd), branin_mod2, lower = rep(0, highD),
upper = rep(1, highD), budget = maxEval, highDimGP = TRUE)
res[i] <- sol$value
cat(sol$value, " ", i, "\n")
}
plot(res - 0.397887, type = "b")
boxplot(res - 0.397887)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.