-
Notifications
You must be signed in to change notification settings - Fork 357
Description
Question
Hi, I have an optimization case like below. It has multi objectives, which depends on a common set of parameters, but each also depends on individual parameters.
I'm seeking some way to tell the optimizer which objective depends on which parameters (actually we know it in advance), or config the optimizer so it can automatically prune unrelated parameters for an objective, so that it could improve the sampling efficiency.
I notice that the AX has introduced a 'simplify_parameter_changes' argument in latest version, which seems may work for my case. However, to enable it, it asks me to set the pruning_target_parameterization on optimization_config. There are some comments in the codes like below:
pruning_target_parameterization: Arm containing the target values for
irrelevant parameters. The target values are used to prune irrelevant
parameters from candidates generated via Bayesian optimization: when
Ax considers arms to suggest for the next trial, it will seek to have
the proposed arms differ from the target arm as little as possible,
without a loss in optimization performance. I.e. when suggested arms
include parameter values that differ from the corresponding value in
the target arm, the pruning methodology will check if that difference
is expected to be meaningful w.r.t. the performance of the arm in
consideration, and if not, the parameter value will be replaced with
the corresponding value in the target arm.
But to be honest, I didn't get the meaning of target values for irrelevant parameters. So is there any more detailed explanation or example for it?
Please provide any relevant code snippet if applicable.
Code of Conduct
- I agree to follow this Ax's Code of Conduct