Comments (4)
So what you're looking at is a hierarchical search space. We have some (basic) support for this (
Lines 515 to 516 in fcc5178
Line 437 in fcc5178
@saitcakmak, @dme65 do you have a sense of this?
from ax.
I don't know how well HSS would interact with SEBO for this use case. Under the hood, the acquisition function will be optimized in the flattened space without fixing the values of x2 & x3, so these will be included in the sparsity computations as well.
Since the conditional structure here is super simple, you could try a manual approach here. Let Ax generate a candidate with all three parameters optimized and compare the acquisition value of this candidate to x1=x2=x3=0. You can then evaluate the one that performs better. But this would not scale too well beyond a few parameters. You could also do similar things using the fixed_features
argument, which would let you fix x2=x3=0
and optimize x1
alone while generating the candidate.
Fixed features: https://github.com/facebook/Ax/blob/main/ax/modelbridge/base.py#L753-L755
Checking acquisition value: https://github.com/facebook/Ax/blob/main/ax/modelbridge/torch.py#L463
from ax.
Assuming the target_point
in SEBO is 0, this isn't going to work out of the box. The main issue is that x1=0
implies x2=x3=0
needs to be incorporated into the sparsity objective (penalty) and we don't expose any easy ways of doing that.
Your best bet is probably to find a way to optimize the acquisition function for each path in the hierarchical search space structure and then pick the best (this is what @saitcakmak suggested above). One thing to watch out for in that setting is that you may end up with x1=0 but not x2=x3=0 in the case where you optimize all parameters.
from ax.
@dme65 @saitcakmak @Balandat Thank you so much for your helpful inputs. When I use SEBO to optimize all parameters, it works well for most of the time and sometimes may have results with x1 = 0 but not x2 = x3 = 0. (main issue remaining for my problem) I will try to study more on this.
from ax.
Related Issues (20)
- Issue when starting an AxClient with out-of-design points HOT 2
- cannot import name 'TrainingData' HOT 2
- applying complex constrains HOT 2
- Ax is not not starting as many workers as I'd like to; sometimes, get_next_trials returns 0 new trials HOT 4
- Evaluating custom candidates HOT 2
- Input Feature Selection - Does the relevant code exist? HOT 6
- [Feature Request] support constraints on `ChoiceParameters` HOT 4
- Extending Models.THOMPSON with an extra parameter HOT 1
- There are some questions when i use the Ax HOT 7
- Space characters in the objective name AND specifying a threshold leads to an error message: "AssertionError: Outcome constraint should be of form `metric_name >= x" HOT 1
- Pandas deprecation warning when deserializing AxClient JSON HOT 2
- AX seems to get stuck with Ray
- `StandardizeY` transform requires non-empty data." when using SAASBO
- Plotting outside of a notebook HOT 1
- Setting search space step size in Ax Service API HOT 10
- Problem when Sobol falls back to HitAndRunPolytopeSampler HOT 4
- Arms from previous batch keep appearing in new batches HOT 5
- EHVI & NEHVI break with more than 7 objectives HOT 4
- Multi-objective experiments generate duplicated data HOT 5
- Question: Transforming objective when passing `best_f` to `ProbabilityOfImprovement`, etc. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ax.