Encog.Engine.Network.Activation.ActivationLOG.ActivationFunction C# (CSharp) Method

ActivationFunction() public method

public ActivationFunction ( double x, int start, int size ) : void
x double
start int
size int
return void
        public virtual void ActivationFunction(double[] x, int start,
                                               int size)
        {
            for (int i = start; i < start + size; i++)
            {
                if (x[i] >= 0)
                {
                    x[i] = BoundMath.Log(1 + x[i]);
                }
                else
                {
                    x[i] = -BoundMath.Log(1 - x[i]);
                }
            }
        }

Usage Example

        public void TestLog()
        {
            var activation = new ActivationLOG();
            Assert.IsTrue(activation.HasDerivative());

            var clone = (ActivationLOG) activation.Clone();
            Assert.IsNotNull(clone);

            double[] input = {0.0};

            activation.ActivationFunction(input, 0, 1);

            Assert.AreEqual(0.0, input[0], 0.1);

            // test derivative
            input[0] = activation.DerivativeFunction(input[0],input[0]);
            Assert.AreEqual(1.0, input[0], 0.1);
        }
All Usage Examples Of Encog.Engine.Network.Activation.ActivationLOG::ActivationFunction