Exemple #1
0
        private void AddSynapse(Neuron inputNeuron)
        {
            var synapse = new Synapse(inputNeuron, this);

            inputNeuron.OutputSynapses.Add(synapse);
            InputSynapses.Add(synapse);
        }
        /// <summary>
        /// Connects to input (left) layer
        /// </summary>
        /// <param name="inputNeuron">Neuron form left(previous) layer</param>
        /// <param name="weight">Value of synapse between input and current neuron</param>
        public void ConnectToInputNeuron(Neuron inputNeuron, float weight)
        {
            var synapse = new Synapse(inputNeuron, this, weight);

            InputSynapses.Add(synapse);
            inputNeuron.OutputSynapses.Add(synapse);
        }
Exemple #3
0
 public Neuron(IEnumerable <Neuron> inputNeurons) : this()
 {
     foreach (var inputNeuron in inputNeurons)
     {
         var synapse = new Synapse(inputNeuron, this);
         inputNeuron.OutputSynapses.Add(synapse);
         InputSynapses.Add(synapse);
     }
 }
Exemple #4
0
 //Tworzenie neuronu wraz z podłączeniem neuronów wejściowych
 public Neuron(List <Neuron> inputNeurons, IActivationFunction activationFunction) : this(activationFunction)
 {
     foreach (var inputNeuron in inputNeurons)
     {
         var synapse = new Synapse(inputNeuron, this);
         inputNeuron.OutputSynapses.Add(synapse);
         InputSynapses.Add(synapse);
     }
 }
Exemple #5
0
        public void Initialize(int numberInputs)
        {
            for (int i = 0; i < numberInputs; i++)
            {
                InputSynapses.Add(new Synapse(i + 1, this, Util.r.NextDouble()));
            }

            LearningRate = 1;
        }
Exemple #6
0
 public Neuron(IEnumerable <Neuron> inputNeurons, Type activationFunctionType = null) : this(activationFunctionType)
 {
     foreach (var inputNeuron in inputNeurons)
     {
         var synapse = new Synapse(inputNeuron, this);
         inputNeuron.OutputSynapses.Add(synapse);
         InputSynapses.Add(synapse);
     }
 }
Exemple #7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Neuron"/> class.
        /// </summary>
        /// <param name="inputNeurons">The input neurons.</param>
        public Neuron(IEnumerable <Neuron> inputNeurons) : this()
        {
            Ensure.That(inputNeurons).IsNotNull();

            foreach (var inputNeuron in inputNeurons)
            {
                var synapse = new Synapse(inputNeuron, this);
                inputNeuron?.OutputSynapses?.Add(synapse);
                InputSynapses?.Add(synapse);
            }
        }
Exemple #8
0
 public Neuron(
     IEnumerable <Neuron> inputNeurons,
     Func <double, double> activationFunction,
     Func <double, double> dActivationFunction
     ) : this(activationFunction, dActivationFunction)
 {
     foreach (var inputNeuron in inputNeurons)
     {
         InputSynapses.Add(new Synapse(inputNeuron, this));
         inputNeuron.OutputSynapses.Add(new Synapse(inputNeuron, this));
     }
 }
Exemple #9
0
        public Neuron(NeuralNetwork NN, IEnumerable <Neuron> inputNeurons)
            : this()
        {
            Network = NN;

            foreach (var inputNeuron in inputNeurons)
            {
                var synapse = new Synapse(inputNeuron, this);
                inputNeuron.OutputSynapses.Add(synapse);
                InputSynapses.Add(synapse);
            }
        }
Exemple #10
0
 public void AddInput(Synapse input)
 {
     InputSynapses.Add(input);
 }