ContinuumIO / elm

Phase I & part of Phase II of NASA SBIR - Parallel Machine Learning on Satellite Data
http://ensemble-learning-models.readthedocs.io
44 stars 23 forks source link

Improvements for evolutionary algorithms #185

Closed PeterDSteinberg closed 7 years ago

PeterDSteinberg commented 7 years ago

I had a meeting with Grey Nearing (NASA - Goddard) to discuss hyperparameterization in hydrology, for statistical models as in Elm or for physical hydrology models. We discussed a few improvements to do on the evolutionary algorithms for statistical models:

Example NSGA-2 control specification for elm.pipeline.evolve_train as it works currently from Phase I:

nsga_control = {
    'select_method': 'selNSGA2',
    'crossover_method': 'cxTwoPoint',  # TODO can we modify for float/int
    'mutate_method': 'mutUniformInt',  # TODO same comment as ^^
    'init_pop': 'random',
    'indpb': 0.6,     # probability of each attribute changing
    'mutpb': 0.9,     # probability of mutation
    'cxpb':  0.5,     # probability of crossover
    'eta':   20,      # eta: Crowding degree of the crossover
                      # A high eta will produce children resembling
                      # to their parents, while a small eta will
                      # produce solutions much more different.
    'ngen':  3,       # Number of generations
    'mu':    64,      # Population size
    'k':     24,      # Number selected to move to next generation
    'early_stop': {'threshold': [0, 1, 1], 'agg': all},
    # alternatively 'early_stop': {'abs_change': [10], 'agg': 'all'},
    # alternatively early_stop: {percent_change: [10], agg: all}
    # alternatively early_stop: {threshold: [10], agg: any}
}
PeterDSteinberg commented 7 years ago

PR #192 works Stretch Goal at the bottom of the comment with elm.model_selection improvements. This issue needs to remain open to address the other bullets above regarding parameters that are discrete/continuous

PeterDSteinberg commented 7 years ago

Elm PR #192 in elm.model_selection.EaSearchCV now addresses more of the bullets above (the checked boxes). Further explanation on the boxes I checked above:

Regarding:

PeterDSteinberg commented 7 years ago

See #205 #204 #203 #198

PeterDSteinberg commented 7 years ago

This is now being tracked in separate issues (see comments above about #192 work towards this issue).