-
Notifications
You must be signed in to change notification settings - Fork 503
Description
Hi,
I've been having a bit of a play around with neat-python. I was testing it with a recurrent network, however I get the same issue with a standard feed forward as well. The network will train and then hover around a minimum error (I'm using merely a MSE). Whenever I test out the network the results fit well except they all have a systematic error. For example, the target value could be 0.14 but neat-python produces 0.18. This systematic error corresponds exactly to the minimum error I achieve during training.
My config file looks like the following:
`[NEAT]
fitness_criterion = max
fitness_threshold = 3.9
no_fitness_termination = True
pop_size = 150
reset_on_extinction = False
[DefaultGenome]
node activation options
activation_default = sigmoid
activation_mutate_rate = 0.0
activation_options = sigmoid
node aggregation options
aggregation_default = sum
aggregation_mutate_rate = 0.0
aggregation_options = sum
node bias options
bias_init_mean = 0.0
bias_init_stdev = 1.0
bias_max_value = 30.0
bias_min_value = -30.0
bias_mutate_power = 0.5
bias_mutate_rate = 0.7
bias_replace_rate = 0.1
genome compatibility options
compatibility_disjoint_coefficient = 1.0
compatibility_weight_coefficient = 0.5
connection add/remove rates
conn_add_prob = 0.5
conn_delete_prob = 0.5
connection enable options
enabled_default = True
enabled_mutate_rate = 0.01
feed_forward = False
initial_connection = unconnected
node add/remove rates
node_add_prob = 0.2
node_delete_prob = 0.2
network parameters
num_hidden = 0
num_inputs = 21
num_outputs = 1
node response options
response_init_mean = 1.0
response_init_stdev = 0.0
response_max_value = 30.0
response_min_value = -30.0
response_mutate_power = 0.01
response_mutate_rate = 0.1
response_replace_rate = 0.0
connection weight options
weight_init_mean = 0.0
weight_init_stdev = 1.0
weight_max_value = 30
weight_min_value = -30
weight_mutate_power = 0.5
weight_mutate_rate = 0.8
weight_replace_rate = 0.1
[DefaultSpeciesSet]
compatibility_threshold = 3.0
[DefaultStagnation]
species_fitness_func = max
max_stagnation = 15
species_elitism = 2
[DefaultReproduction]
elitism = 2
survival_threshold = 0.2`
Is there anything I'm missing - I started with the XOR example and tweaked it from there.