scipy.special.log_expit#
-
scipy.special.log_expit(x, выход=None) =
'log_expit'> # Логарифм логистической сигмоидной функции.
Реализация логистической сигмоидной функции в SciPy - это
scipy.special.expit, поэтому эта функция вызываетсяlog_expit.Функция математически эквивалентна
log(expit(x)), но сформулирован для избежания потери точности для входных данных с большой (положительной или отрицательной) величиной.- Параметры:
- xarray_like
Значения для применения
log_expitк поэлементному.- выходndarray, необязательно
Необязательный выходной массив для результатов функции
- Возвращает:
- выходскаляр или ndarray
Вычисленные значения, ndarray той же формы, что и
x.
Смотрите также
Примечания
Как ufunc,
log_expitпринимает ряд необязательных аргументов-ключевых слов. Для получения дополнительной информации см. универсальные функции (ufuncs)Добавлено в версии 1.8.0.
Примеры
>>> import numpy as np >>> from scipy.special import log_expit, expit
>>> log_expit([-3.0, 0.25, 2.5, 5.0]) array([-3.04858735, -0.57593942, -0.07888973, -0.00671535])
Большие отрицательные значения:
>>> log_expit([-100, -500, -1000]) array([ -100., -500., -1000.])
Обратите внимание, что
expit(-1000)возвращает 0, поэтому наивная реализацияlog(expit(-1000))возвращает-inf.Большие положительные значения:
>>> log_expit([29, 120, 400]) array([-2.54366565e-013, -7.66764807e-053, -1.91516960e-174])
Сравните это с наивной реализацией:
>>> np.log(expit([29, 120, 400])) array([-2.54463117e-13, 0.00000000e+00, 0.00000000e+00])
Первое значение точно только до 3 знаков, а при больших входах теряется вся точность и возвращается 0.