-
Notifications
You must be signed in to change notification settings - Fork 0
Description
We have 2 big problems in ML as it currently stands with default values:
No consideration of good default values
Several of our default values are ridiculously dumb. Ex. the Tournament Selector has a tournament size of 2. You know how high your chance is to get a good tournament going if you compare only 2 of the entire population?
No default values at all
The smaller issue with this is, that to get ANY algorithm to even run in our framework you have to write around 1 A4 page of Spring configuration or lines of code. The bigger issue is, that everyone has to know half of the framework by heart to get any run off the ground.
Suggested fixes
- Go over all Algorithms and select good default values for everything we can.
- Some stuff you can't handle, such as the evaluator in GA, but you can at least assign a GenericEvaluator without any cachets.
- Some default values are dependent on OTHER default values (ex. tournament-size is dependent on population size), values like these should have the default -1, and should either offer a "selfConfig" function with all the information they need as parameters OR should be configured by the using algorithm.
- While you are at it look through our operators and check if they actually work. Turns out the Tournament Selector not only has bad default values but is incorrectly implemented.
Our goal is that we A) can get to a prototype run really fast and B) our runs don't fail because of ridiculously stupid default values.