/// <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))));
 }