-
Notifications
You must be signed in to change notification settings - Fork 217
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
HyperBand - Trajectory possibly wrong. #1059
Comments
Hi, thanks for opening an issue on this. Could you give some more details on your simplified example, i.e. a runhistory + trajectory that exhibits the behavior, + how you configured SMAC? |
The configuration of SMAC is done simply by adding min-budget 1, max-budget 3 (in scenario object). I used the Hyperband object to instantiate the run. I simply use the final history and trajectory. I passed the cost of each trial in two lists. One for history. One for Trajectory. Then compared the minimum values. I tested across 20 datasets and this is happening in 2-3 of them. I guess. My guess is that the hyper-band trajectory is calculated on the max-budget only. However, lower budgets are run on the same data, but just with less n_estimators. N_estimators may indeed improve performance of a configuration (given the other hyper-parameters constant). However, for models like XGBoost this is not always the case. I think replicating a simple function call to XGBoost with varying n_estimaros can show the difference. Please note that I work on CASH problem, so I name budget =1,2,3 but then on the configuration set budget =1 --> n_estimators = 100 for RF, and n_estimators = 50 for XGBoost and the continue. Essentially a budget == 1 is converted differently for each classifier. (SVMs subsample the training set etc.) I think a simple example can replicate that issue on your end. Try HPOBench configuration for XGBoost with the Hyperband object. Hope that helps. I solve my problem for now by using the History Object to essentially give an unbiased performance of HB based methods. I expect this behaviour to be the same on SMAC-HB possibly? |
Thanks! A few notes regarding the general usage of SMAC's HyperBand implementation:
If this doesn't help, it would be great if you could include a code snippet for the instantiation (minimal example with transcript of runhistory and trajectory). |
Description
I run hyperband and got the history and trajectory results.
I specify as budget the number of estimators for XGB (simplified example)
In some cases, the final value in trajectory is not the minimum value of the history. (Trajectory selects the best from the final bracket (highest budget)) However, the hyperband algorithm should select the best from all brackets. So the history can contain a configuration with better performance in a early bracket ( n_est =50 for example ) vs a configuration with 500 estimators in the third bracket.
I think this should be fixed.
Version 2.0.0
Sorry, I don't know how to label this issue etc.
The text was updated successfully, but these errors were encountered: