-
Notifications
You must be signed in to change notification settings - Fork 96
check legality of log-space hyperparameters in log space #6
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
Conversation
Thanks for this PR. Could you please give an example where this happens in practice? I cannot recall observing such a behaviour before. In case the value is sampled, the |
Here is a quick test showing what I'm talking about.
Outputs on my machine (archlinux, python 3.5.2, numpy 1.11.2):
|
Okay, now I get it. Thanks for reporting this. I need to check whether this would drastically reduce sampling speed of the ConfigSpace. |
On some simple tests, this doesn't seem to decrease the performance drastically. Would you mind adding some unit tests before I can merge it? |
I added a single unit test to test_hyperparameters.py with the same examples shown above. Let me know if this works for you! |
Thanks for the test. In your examples, you also showed counter examples. Is it possible to add them to the unittests as well? |
Hey, sorry about the delay. I had other obligations, then forgot about it. What do you mean by counter examples? Apart from testing the boundaries of a space (that is, 0 and 1), I don't see the benefit of adding other tests. Could add 0.5, but if 0 and 1 are legal, 0.5 should always be legal as well. Potential unit test:
|
Hm, good point. I'll go ahead and merge this. |
Hyperparameters defined in log space should check for legality in log space as well. If you have a hyperparameter with large possible values, when its scaled value is on the boundaries of the unit space 0-1 it can be determined to have an illegal value when in fact it was legal.
Ex: