Skip to content

Design of Experiment

arturluis edited this page Feb 21, 2020 · 11 revisions

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 (see (Swiler et Al, 2012, SANDIA National Lab, Surrogate models for mixed discrete-continuous variables, for more information. 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
      }

Grid Search Design of Experiment

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.

Clone this wiki locally