Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating search space / constraints mid exploration but use all data #515

Closed
tonyhammainen opened this issue Mar 3, 2021 · 2 comments
Closed
Labels
duplicate This issue or pull request already exists

Comments

@tonyhammainen
Copy link

Hi!

I recently discovered Ax, still trying to figure out what is and isn't possible with it.

We have existing data from previous observations of parameters & results of a black box function. So far, using the Service API, I've been able to generate suggestions what to try next, and visualize the parameter space in interesting ways.

What I would like to do next is create optimal samples for which some parameters have been fixed, but still leverage all existing data that has these parameters with varying values. I.e. fit GP with larger bounds whereas restrict the optimization phase to a stricter bound set.

E.g., existing data has variables and value ranges of A : [0,2], B : [0,2], C : [0,2], D: [0,2]; and I would like to create optimal samples and visualize the conditional parameter space given A is fixed to 1.25, whereas the system is free to optimize B, C, and D. If this is possible, I would like to continue to fixing more parameters, e.g., A=1.25 & B=0.25, optimize B&C.
Given we have continuous variables, it is likely that not a single existing data point has values A=1.25 and B=0.25.

Is this doable, how?

So far I've tried

  • Updating parameter bounds after completing trials ax_client.experiment.search_space.parameters['A'].update_range(0.125, .126), but ax_client.get_next_trial() throws ValueError: StandardizeY transform requires non-empty observation data.
  • Initiating the whole experiment with a search space that allows for the existing data, but including ParameterConstraints that would have restricted .get_next_trial() to remain within the fixed values, but now I can't even complete_trial() since ValueError: Parameter constraint ParameterConstraint(..) is violated

Thanks in advance, Ax seems like a great library!

@Balandat Balandat added the duplicate This issue or pull request already exists label Mar 4, 2021
@Balandat
Copy link
Contributor

Balandat commented Mar 4, 2021

Seems like this is the same question as #383, closing as a duplicate. If the discussion there doesn't help please chime in on that issue.

@Balandat Balandat closed this as completed Mar 4, 2021
@ldworkin
Copy link
Contributor

ldworkin commented Mar 4, 2021

Agreed -- @tonyhammainen would you mind chiming in on #383 with your reason for wanting to fix parameters midway through the optimization? As @Balandat mentions here, the optimization should handle the narrowing of the search space for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

3 participants