/// <summary> /// Сигмоидальная биполярная активационная ф-я /// </summary> /// <param name="Inp">Входной вектор</param> /// <param name="betta">Угол наклона</param> public static Vector SigmoidBiplyar(Vector Inp, double betta = 1) { return(MathFunc.tanh(Inp * betta)); }
/// <summary> /// Сигмоидальная однополярная активационная ф-я /// </summary> /// <param name="x">Входное значение</param> /// <param name="betta">Угол наклона</param> public static Vector InverseSigmoid(Vector x, double betta = 1) { return(-MathFunc.ln(1 / x - 1) / betta); }
/// <summary> /// Сигмоидальная однополярная активационная ф-я /// </summary> /// <param name="Inp">Входной вектор</param> /// <param name="betta">Угол наклона</param> public static Vector Sigmoid(Vector Inp, double betta = 1) { return(1.0 / (1 + MathFunc.exp(Inp * (-betta)))); }
/// <summary> /// Функция распределения по нормальному закону /// </summary> /// <param name="Inp">Входной вектор</param> /// <param name="m">Мат. ожидание</param> /// <param name="sko">СКО</param> public static Vector Gauss(Vector Inp, double m, double sko) { return((1.0 / (sko * Math.Sqrt(2 * Math.PI))) * MathFunc.exp(((Inp - m).TransformVector(x => x * x)) / (-2 * sko * sko))); }
/// <summary> /// Сигмоида /// </summary> /// <param name="Inp"></param> /// <param name="betta"></param> /// <returns></returns> public static Matrix SigmoidBiplyar(Matrix Inp, double betta = 1) { return(MathFunc.tanh(Inp * betta)); }
/// <summary> /// Сигмоида /// </summary> /// <param name="Inp"></param> /// <param name="betta"></param> /// <returns></returns> public static Matrix Sigmoid(Matrix Inp, double betta = 1) { return(1.0 / (1 + MathFunc.exp(Inp * (-betta)))); }