Parameter Initialization
Parameters in SCONE have a default initial mean and standard deviation, which are typically defined in the SCONE scenario as follows:
parameter = mean~stdev<min,max>
However, in some cases you may want to use different initial values, for instance when you wish to:
- initialize the parameters with a previous optimization result
- use specific values for the control points of a FeedForwardController.
SCONE allows you to do so via a parameter file, which can be specified for initialization as follows:
CmaOptimizer { init { file = my_init_file.par } ... }
This will cause parameters defined my_init_file.par
to be used as the initial mean and standard deviation for the optimization. Only parameters that are already defined in the scenario are loaded (check the Parameters window to see them), other parameters are ignored.
Files with the .par
extension are simple text files that can be edited using any text editor.
Using the result from a previous optimization
SCONE Studio makes it relatively easy to use a .par file from a previous optimization:
- Make sure you have a
.scone
scenario opened in SCONE - Right click on the
.par
file you wish to use for the optimization - Select
Copy to Scenario Folder
from the context menu - The file is now copied to a subfolder below your .scone file, with the filename copied to the clipboard
- You can add an
init { file = … }
statement, usingCtrl+V
to paste the name of the file that was just copied
Changing the initial standard deviation
Parameters from previously optimizations typically have very low standard deviations once they are converged. It is therefore often useful to increase the standard deviation from a previous optimization to allow for more exploration. This can be done by either multiplying the values in the .par
file by a factor:
init { file = my_init_file.par std_factor = 10 }
You can also choose to ignore the standard deviations in the .par
file:
init { file = my_init_file.par use_std = false }
You can experiment with different settings to see what works best.
Other options
The init statement has several other options, which allow you to:
- read parameters in such a way that are
locked
and excluded from the optimization include
orexclude
parameters with specific names
Click here for more information.