-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Modify Stopping Criterion #464
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
Comments
I modified ./smac/optimizer/smbo.py (of the smac library) to add a new stopping criterion.
What do you think? |
Hi Vivek, Thanks for the idea. Two comments:
|
Yes, you are correct.
In the case study that I am using, it has been shown by prior work that an Evolutionary algorithm can find a good configuration with similar stopping criterion---hence wanted to try it out. However, in more general cases, I agree with what you said. |
What was the population size of the EA? |
The population size of the EA is 10 and the max iteration is 10. It has a very strict stopping criterion. The EA would terminate if the value of the incumbent (best of the generation) does not change for 5 generation (does not have to be consecutive). I do agree with your point that lives=5 in the EA setup does not translate to lives=5 in SMAC. I am currently thinking how we can do apples to apple comparison between the EA and autosklearn. Suggestions are welcome. |
You could try to force SMAC to run 5 configurations in each iteration. @mfeurer should know whether this has some other implications for auto-sklearn (that I'm not aware of). |
I wouldn't know of any implications for Auto-sklearn if you run at least 5 configurations in each iteration except that the EI optimization in SMAC isn't built for that. Besides that I'm wondering why the number of iterations without improvement is a good criterion in general to stop the search when using a global optimization algorithm. Are there any theoretical reasons or is this rather an EA-community thing? |
Closing this as there is no clear TODO here and this could be better achieved with callbacks (which are not implemented yet, but probably should be as requested by #1100). |
Related to #451
Is there any way to set stopping criterion policies? For example, if the incumbent does not change for five consecutive iterations, then terminate.
The text was updated successfully, but these errors were encountered: