diff options
Diffstat (limited to 'src/brain/neuron.cpp')
-rw-r--r-- | src/brain/neuron.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/brain/neuron.cpp b/src/brain/neuron.cpp index 527e7da..f4fa12f 100644 --- a/src/brain/neuron.cpp +++ b/src/brain/neuron.cpp @@ -1,25 +1,23 @@ #include "brain/neuron.h" #include <cmath> -Neuron::Neuron(int id) - :NeuralNode('n', id) -{ -} - double Neuron::sigmoid(double input) const { double slope = 4.924273; return (1/(1+(std::exp(-(slope*input))))); } -double Neuron::activation() const +void Neuron::calculateActivation() { - double activationSum = 0; + double newActivation = 0; for (auto const& link : _inputLinks) { - activationSum += link->weightedActivation(); + newActivation += link->weightedActivation(); } - return sigmoid(activationSum); + newActivation = sigmoid(newActivation); + + _activationChanged = newActivation != _activation; + _activation = newActivation; } void Neuron::addInput(std::unique_ptr<NeuralLink>&& link) |