.parse_hyperparameter_optimisation_settings | R Documentation |
Internal function for parsing settings related to hyperparameter optimisation
.parse_hyperparameter_optimisation_settings(
config = NULL,
parallel,
outcome_type,
optimisation_bootstraps = waiver(),
optimisation_determine_vimp = waiver(),
smbo_random_initialisation = waiver(),
smbo_n_random_sets = waiver(),
max_smbo_iterations = waiver(),
smbo_stop_convergent_iterations = waiver(),
smbo_stop_tolerance = waiver(),
smbo_time_limit = waiver(),
smbo_initial_bootstraps = waiver(),
smbo_step_bootstraps = waiver(),
smbo_intensify_steps = waiver(),
smbo_stochastic_reject_p_value = waiver(),
optimisation_function = waiver(),
optimisation_metric = waiver(),
acquisition_function = waiver(),
exploration_method = waiver(),
hyperparameter_learner = waiver(),
parallel_hyperparameter_optimisation = waiver(),
...
)
config |
A list of settings, e.g. from an xml file. |
parallel |
Logical value that whether familiar uses parallelisation. If
|
outcome_type |
Type of outcome found in the data set. |
optimisation_bootstraps |
(optional) Number of bootstraps that should
be generated from the development data set. During the optimisation
procedure one or more of these bootstraps (indicated by
The default number of bootstraps is |
optimisation_determine_vimp |
(optional) Logical value that indicates
whether variable importance is determined separately for each of the
bootstraps created during the optimisation process ( Determining variable importance increases the initial computational overhead. However, it prevents positive biases for the out-of-bag data due to overlap of these data with the development data set used for the feature selection step. In this case, any hyperparameters of the variable importance method are not determined separately for each bootstrap, but those obtained during the feature selection step are used instead. In case multiple of such hyperparameter sets could be applicable, the set that will be used is randomly selected for each bootstrap. This parameter only affects hyperparameter optimisation of learners. The
default is |
smbo_random_initialisation |
(optional) String indicating the
initialisation method for the hyperparameter space. Can be one of
|
smbo_n_random_sets |
(optional) Number of random or subsampled
hyperparameters drawn during the initialisation process. Default: |
max_smbo_iterations |
(optional) Maximum number of intensify iterations of the SMBO algorithm. During an intensify iteration a run-off occurs between the current best hyperparameter combination and either 10 challenger combination with the highest expected improvement or a set of 20 random combinations. Run-off with random combinations is used to force exploration of the hyperparameter space, and is performed every second intensify iteration, or if there is no expected improvement for any challenger combination. If a combination of hyperparameters leads to better performance on the same data than the incumbent best set of hyperparameters, it replaces the incumbent set at the end of the intensify iteration. The default number of intensify iteration is |
smbo_stop_convergent_iterations |
(optional) The number of subsequent
convergent SMBO iterations required to stop hyperparameter optimisation
early. An iteration is convergent if the best parameter set has not
changed or the optimisation score over the 4 most recent iterations has not
changed beyond the tolerance level in The default value is |
smbo_stop_tolerance |
(optional) Tolerance for early stopping due to convergent optimisation score. The default value depends on the square root of the number of samples (at
the series level), and is |
smbo_time_limit |
(optional) Time limit (in minutes) for the
optimisation process. Optimisation is stopped after this limit is exceeded.
Time taken to determine variable importance for the optimisation process
(see the The default is |
smbo_initial_bootstraps |
(optional) The number of bootstraps taken
from the set of The default value is |
smbo_step_bootstraps |
(optional) The number of bootstraps taken from
the set of The default value is |
smbo_intensify_steps |
(optional) The number of steps in each SMBO
intensify iteration. Each step a new set of The default value is |
smbo_stochastic_reject_p_value |
(optional) The p-value threshold used
for the The default value is |
optimisation_function |
(optional) Type of optimisation function used
to quantify the performance of a hyperparameter set. Model performance is
assessed using the metric(s) specified by The combination of optimisation score and summary score is determined by the optimisation function indicated by this parameter:
Additional detail are provided in the Learning algorithms and hyperparameter optimisation vignette. |
optimisation_metric |
(optional) One or more metrics used to compute performance scores. See the vignette on performance metrics for the available metrics. If unset, the following metrics are used by default:
Multiple optimisation metrics can be specified. Actual metric values are converted to an objective value by comparison with a baseline metric value that derives from a trivial model, i.e. majority class for binomial and multinomial outcomes, the median outcome for count and continuous outcomes and a fixed risk or time for survival outcomes. |
acquisition_function |
(optional) The acquisition function influences
how new hyperparameter sets are selected. The algorithm uses the model
learned by the learner indicated by The following acquisition functions are available, and are described in more detail in the learner algorithms vignette:
|
exploration_method |
(optional) Method used to steer exploration in post-initialisation intensive searching steps. As stated earlier, each SMBO iteration step compares suggested alternative parameter sets with an incumbent best set in a series of steps. The exploration method controls how the set of alternative parameter sets is pruned after each step in an iteration. Can be one of the following:
|
hyperparameter_learner |
(optional) Any point in the hyperparameter
space has a single, scalar, optimisation score value that is a priori
unknown. During the optimisation process, the algorithm samples from the
hyperparameter space by selecting hyperparameter sets and computing the
optimisation score value for one or more bootstraps. For each
hyperparameter set the resulting values are distributed around the actual
value. The learner indicated by The following models are available:
|
parallel_hyperparameter_optimisation |
(optional) Enable parallel
processing for hyperparameter optimisation. Defaults to
|
... |
Unused arguments. |
List of parameters related to model hyperparameter optimisation.
Hutter, F., Hoos, H. H. & Leyton-Brown, K. Sequential model-based optimization for general algorithm configuration. in Learning and Intelligent Optimization (ed. Coello, C. A. C.) 6683, 507–523 (Springer Berlin Heidelberg, 2011).
Shahriari, B., Swersky, K., Wang, Z., Adams, R. P. & de Freitas, N. Taking the Human Out of the Loop: A Review of Bayesian Optimization. Proc. IEEE 104, 148–175 (2016)
Srinivas, N., Krause, A., Kakade, S. M. & Seeger, M. W. Information-Theoretic Regret Bounds for Gaussian Process Optimization in the Bandit Setting. IEEE Trans. Inf. Theory 58, 3250–3265 (2012)
Kaufmann, E., Cappé, O. & Garivier, A. On Bayesian upper confidence bounds for bandit problems. in Artificial intelligence and statistics 592–600 (2012).
Jamieson, K. & Talwalkar, A. Non-stochastic Best Arm Identification and Hyperparameter Optimization. in Proceedings of the 19th International Conference on Artificial Intelligence and Statistics (eds. Gretton, A. & Robert, C. C.) vol. 51 240–248 (PMLR, 2016).
Gramacy, R. B. laGP: Large-Scale Spatial Modeling via Local Approximate Gaussian Processes in R. Journal of Statistical Software 72, 1–46 (2016)
Sparapani, R., Spanbauer, C. & McCulloch, R. Nonparametric Machine Learning and Efficient Computation with Bayesian Additive Regression Trees: The BART R Package. Journal of Statistical Software 97, 1–66 (2021)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.