private double OkreslSzanseAktywacji(double ocenaMrowki) { var wartPresji = presja.OkreslPresje(); var cosinus = Math.Cos(0.5 * ocenaMrowki); var prawdopAktywacji = Math.Pow(cosinus, wartPresji); // Nie wydaje mi się, żeby wynik potęgowania 0 było szkodliwe w tym wzorze, więc zostawiam bez Max(wynik, Epsilon) return(prawdopAktywacji); }
private double OkreslSzanseAktywacji(double ocenaMrowki) { var wartPresji = presja.OkreslPresje(); // Dla bardzo wysokiej presji wynik potęgowania może wynieść 0, co nie może być prawidłowe dla pAktywacji > 0 var betaDoLambda = Math.Max(Math.Pow(pAktywacji, wartPresji), double.Epsilon); var wplywOceny = Math.Pow(ocenaMrowki, wartPresji); var licznik = betaDoLambda; var mianownik = betaDoLambda + wplywOceny; var szansaAktywacji = licznik / mianownik; return(szansaAktywacji); }