Subclass that implements CMA-ES calling adagio::pureCMAES() from package adagio.

## Source

Hansen N (2016). “The CMA Evolution Strategy: A Tutorial.” 1604.00772.

## Dictionary

This Tuner can be instantiated via the dictionary mlr_tuners or with the associated sugar function tnr():

TunerCmaes$new() mlr_tuners$get("cmaes")
tnr("cmaes")

## Parameters

sigma

numeric(1)

start_values

character(1)
Create random start values or based on center of search space? In the latter case, it is the center of the parameters before a trafo is applied.

For the meaning of the control parameters, see adagio::pureCMAES(). Note that we have removed all control parameters which refer to the termination of the algorithm and where our terminators allow to obtain the same behavior.

## Progress Bars

### Method clone()

The objects of this class are cloneable with this method.

TunerCmaes$clone(deep = FALSE) #### Arguments deep Whether to make a deep clone. ## Examples library(data.table) # retrieve task task = tsk("pima") # load learner and set search space learner = lrn("classif.rpart", cp = to_tune(1e-04, 1e-1, logscale = TRUE), minsplit = to_tune(p_dbl(2, 128, trafo = as.integer)), minbucket = to_tune(p_dbl(1, 64, trafo = as.integer)) ) # hyperparameter tuning on the pima indians diabetes data set instance = tune( method = "cmaes", task = task, learner = learner, resampling = rsmp("holdout"), measure = msr("classif.ce"), term_evals = 10) # best performing hyperparameter configuration instance$result
#>           cp minsplit minbucket learner_param_vals  x_domain classif.ce
#> 1: -7.510346 72.06259  14.34832          <list[4]> <list[3]>  0.2851562

# all evaluated hyperparameter configuration
as.data.table(instance$archive) #> cp minsplit minbucket classif.ce x_domain_cp x_domain_minsplit #> 1: -6.949432 69.031796 1.000000 0.2890625 0.0009591793 69 #> 2: -7.510346 72.062593 14.348322 0.2851562 0.0005473919 72 #> 3: -2.302585 128.000000 1.000000 0.3203125 0.1000000000 128 #> 4: -4.931336 86.050476 5.029061 0.2890625 0.0072168542 86 #> 5: -9.210340 128.000000 1.000000 0.3242188 0.0001000000 128 #> 6: -3.494726 119.609550 25.662615 0.2851562 0.0303570703 119 #> 7: -6.247934 4.874612 1.000000 0.2890625 0.0019344467 4 #> 8: -3.657932 53.990282 44.564985 0.2851562 0.0257857872 53 #> 9: -2.302585 78.557521 64.000000 0.3203125 0.1000000000 78 #> 10: -4.201757 125.018418 1.000000 0.3203125 0.0149692586 125 #> x_domain_minbucket runtime_learners timestamp batch_nr warnings #> 1: 1 0.015 2022-05-24 04:26:36 1 0 #> 2: 14 0.014 2022-05-24 04:26:36 2 0 #> 3: 1 0.014 2022-05-24 04:26:37 3 0 #> 4: 5 0.015 2022-05-24 04:26:37 4 0 #> 5: 1 0.014 2022-05-24 04:26:37 5 0 #> 6: 25 0.014 2022-05-24 04:26:37 6 0 #> 7: 1 0.017 2022-05-24 04:26:37 7 0 #> 8: 44 0.014 2022-05-24 04:26:37 8 0 #> 9: 64 0.014 2022-05-24 04:26:37 9 0 #> 10: 1 0.015 2022-05-24 04:26:37 10 0 #> errors resample_result #> 1: 0 <ResampleResult[22]> #> 2: 0 <ResampleResult[22]> #> 3: 0 <ResampleResult[22]> #> 4: 0 <ResampleResult[22]> #> 5: 0 <ResampleResult[22]> #> 6: 0 <ResampleResult[22]> #> 7: 0 <ResampleResult[22]> #> 8: 0 <ResampleResult[22]> #> 9: 0 <ResampleResult[22]> #> 10: 0 <ResampleResult[22]> # fit final model on complete data set learner$param_set$values = instance$result_learner_param_vals