void ComputeDerivativeSigmoid() { Random rnd = new Random(DateTime.Now.Millisecond); Perceptron.entity.Layer l = new Perceptron.entity.Layer(); l.Activation = Perceptron.entity.ActivationType.Sigmoid; double activation = rnd.NextDouble(); double derivativeActual = Perceptron.core.Utils.ComputeDerivativeOfActivation(l, null, 0, activation); double derivativeExpected = activation * (1 - activation); Assert.Equal(derivativeActual, derivativeActual, 5); }
void ComputeActivationSigmoid() { Random rnd = new Random(DateTime.Now.Millisecond); Perceptron.entity.Layer l = new Perceptron.entity.Layer(); l.Activation = Perceptron.entity.ActivationType.Sigmoid; double dotproduct = rnd.NextDouble(); double activationActual = Perceptron.core.Utils.ComputeActivation(l, null, dotproduct); double activationExpected = 1 / (1 + Math.Exp(-dotproduct)); Assert.Equal(activationActual, activationActual, 5); }