Exemple #1
0
        public void Activate()
        {
            var netInput   = Properties.NetInput;
            var activation = ActivationFunction.Activation(netInput);

            Properties.ActivationValue = activation;
        }
Exemple #2
0
        public Vector FeedForward(Vector inputVector)
        {
            lastInput = inputVector;
            Matrix inducedField
                = weightMatrix.Times(inputVector)
                  .Plus(biasVector);

            Vector inducedFieldVector = new Vector(NumberOfNeurons());

            for (int i = 0; i < NumberOfNeurons(); ++i)
            {
                inducedFieldVector.SetValue(i, inducedField.Get(i, 0));
            }

            lastInducedField = inducedFieldVector.CopyVector();
            Vector resultVector = new Vector(NumberOfNeurons());

            for (int i = 0; i < NumberOfNeurons(); ++i)
            {
                resultVector.SetValue(i,
                                      activationFunction.Activation(inducedFieldVector.GetValue(i)));
            }
            // set the result as the last activation value
            lastActivationValues = resultVector.CopyVector();
            return(resultVector);
        }
        public override float getValue()         //hier halte ich mich eher an Brotcrunsher als an Bene, siehe das fehlende float value attribut
        {
            float sum = 0;

            foreach (Connection c in connections)
            {
                sum += c.getValue();
            }

            //Console.WriteLine("[WORKING NEURON] In die Akt'Fkt eingegeben wird:\n"+sum); //fuer debugging!
            //Console.WriteLine("von ihr ausgegeben wird:\n"+activationFunction.Activation(sum));

            return(activationFunction.Activation(sum));
        }
Exemple #4
0
        public void CalculateOutput()
        {
            // Start with the bias.
            float output = Bias;

            // Add each linked neuron's output multiplied by its associated weight.
            foreach (uint previousLayerNeuronID in NeuronLayer.PreviousWeightLayer.GetPreviousLayerConnections(this))
            {
                output += previousNeuronLayer[previousLayerNeuronID].Output * NeuronLayer.PreviousWeightLayer.GetWeightBetweenNeurons(previousNeuronLayer[previousLayerNeuronID], this);
            }

            // Apply the activation and save the output.
            Output = activationFunction.Activation(output);
        }
Exemple #5
0
 public double Activation(double x)
 {
     return(_activationFunction.Activation(x));
 }