Пример #1
0
        public void Neuron_Activation_CorrectLogic()
        {
            // arrange
            Neuron neuron  = new Neuron();
            Sinaps sinaps1 = new Sinaps(new Neuron()
            {
                Data = 0.5
            }, 0.2);
            Sinaps sinaps2 = new Sinaps(new Neuron()
            {
                Data = 0.3
            }, 0.4);

            neuron.Sinapses.Add(sinaps1);
            neuron.Sinapses.Add(sinaps2);
            double expected = 0;

            foreach (Sinaps sinaps in neuron.Sinapses)
            {
                expected += sinaps.GetData();
            }
            expected = (Math.Exp(2 * expected) - 1) / (Math.Exp(2 * expected) + 1);

            // act
            neuron.Activation();

            // assert
            double actual = neuron.Data;

            Assert.AreEqual(expected, actual);
        }
Пример #2
0
        public void Sinaps_GetData2_ExpectedCorrect()
        {
            // arrange
            Neuron neuron = new Neuron()
            {
                Data = 0.156
            };
            Sinaps sinaps   = new Sinaps(neuron, 0.754);
            double expected = 0.754 * 0.156;

            // act
            double actual = sinaps.GetData();

            // assert
            Assert.AreEqual(expected, actual);
        }
Пример #3
0
        public void Neuron_Activation_CorrectRange()
        {
            // arrange
            Neuron neuron  = new Neuron();
            Sinaps sinaps1 = new Sinaps(new Neuron()
            {
                Data = 0.5
            }, 0.5);
            Sinaps sinaps2 = new Sinaps(new Neuron()
            {
                Data = 0.3
            }, 0.4);

            neuron.Sinapses.Add(sinaps1);
            neuron.Sinapses.Add(sinaps2);

            // act
            neuron.Activation();

            // assert
            double actual = neuron.Data;

            Assert.IsTrue(actual >= -1 && actual <= 1);
        }