-
Notifications
You must be signed in to change notification settings - Fork 26
Design of Experiment
HyperMapper currently supports four different optimization methods: Random Sampling, Standard Latin Hypercube, K Latin Hypercube, and Grid Search. With the exception of grid search, these methods are used in the beginning of optimization to initialize HyperMapper's models. The design of experiment method used and the number of samples drawn during the design of experiment phase are controlled by the design_of_experiment
field in the json file:
-
design_of_experiment: [object].
Before starting the optimization phase, HyperMapper samples the space using one method between random, standard latin hypercube and k latin hypercube. The type of sampling and how many times it samples the space is declared here.-
doe_type: ["random sampling"|"standard latin hypercube"|"k latin hypercube"]["grid_search"].
Type of warmup sampling.
Example:"doe_type": "standard latin hypercube"
-
number_of_samples: [integer][10]
Number of samples used to warmup the active learning phase.
Example:"number_of_samples": 100
Ensemble example:
"design_of_experiment": { "doe_type": "random sampling", "number_of_samples": 1000 }
-
doe_type: ["random sampling"|"standard latin hypercube"|"k latin hypercube"]["grid_search"].
Type of warmup sampling.
There are a couple of differences between grid search and the other design of experiment methods. First, the grid search can only be used as a standalone method of exploring the input parameter space. If grid search is used as design of experiment, HyperMapper will automatically set the number of bayesian optimization iterations to 0. Second, grid search always explores all of the possible parameter combinations in the search space, ignoring the number_of_samples
field in the design_of_experiment
object. Note that this can lead to a very large number of function evaluations, depending on the size of the parameter space.
Note. For real parameters, grid search will discretize the parameter range into 10 equally spaced values. If a different discretization is preferred, we recommend encoding the real parameter as an ordinal or categorical parameter instead.