CodeReclaimers / neat-python

Python implementation of the NEAT neuroevolution algorithm
BSD 3-Clause "New" or "Revised" License
1.42k stars 493 forks source link

Clarification of response options, weight_mutate_power and aggregation options in neat-python configuration #141

Open abhiramsingh7 opened 6 years ago

abhiramsingh7 commented 6 years ago

As given in config file description:

weight_mutate_power: The standard deviation of the zero-centered normal/gaussian distribution from which a weight value mutation is drawn.

https://neat-python.readthedocs.io/en/latest/config_file.html

Response : These are the attributes of a node. They determine the output of a node as follows: activation(bias+(response∗aggregation(inputs))).

https://neat-python.readthedocs.io/en/latest/glossary.html#term-response

What is 'inputs' here and why we want to scale aggregated inputs by using response variable? Why aggregate inputs? Where is the role of weights in this equation? We can simply perform inner product of inputs with weight vector added with bias as input to activation function. Why this type of calculation is needed?