Exemple #1
0
        /// <summary>
        /// Applies the activation funciton to the curent value.
        /// </summary>
        internal void Activate()
        {
            switch (func)
            {
            case ActFunc.Sine:
                value = Math.Sin(value); break;

            case ActFunc.Cosine:
                value = Math.Cos(value); break;

            case ActFunc.Gaussian:
                value = VMath.Gauss(value); break;

            case ActFunc.Sigmoid:
                value = Math.Tanh(value); break;

            case ActFunc.Sinc:
                value = VMath.Sinc(value); break;
            }

            //prevents propagating NaNs
            if (value.IsNaN())
            {
                value = 0.0;
            }
        }