Skip to content

Acquisition Function

Hao Wang edited this page Oct 6, 2020 · 4 revisions

The acquisition function, its parameters, and the optimization procedure and setup thereof can be controlled through the following arguments to the BO class:

  • acquisition_fun: str = 'EI' should take one of the class name defined in file AcquisitionFunction.py, e.g., 'EI', 'PI', 'UCB', 'MGFI'.

  • acquisition_par: dict = {} is the extra parameter of the specified acquisition function and is passed to the constructor of the acquisition function when creating it. For instance, the 'MGFI' takes as input an additional parameter t (which resembles the temperature as in simulated annealing) and such a parameter can be fed in as acquisition_par = {'t' : 2}.

  • acquisition_optimization: dict = {} controls the acquisition optimization procedure that reads the following control parameters:

    • optimizer: the type of internal optimization, which should be one of the built-in ones: [BFGS, MIES, OnePlusOne_Cholesky_CMA].
    • max_FEs: the evaluation budget to optimize the acquisition function. It is by default 5e2 * d for mixed-integer/categorical search space and 1e2 * d for pure real-valued parameters.
    • n_restart: the number of random restarts to apply, which is by default 5 * d.
    • wait_iter: the number of stagnated iterations to wait before terminating the procedure, by default 3.
Clone this wiki locally