scipy.special.log_expit#
- scipy.special.log_expit(x, out=None) = <ufunc 'log_expit'>#
logistic sigmoid 函數的對數。
logistic sigmoid 函數的 SciPy 實作是
scipy.special.expit
,因此此函數被稱為log_expit
。此函數在數學上等同於
log(expit(x))
,但其公式旨在避免對於大(正或負)數值的輸入產生精確度損失。- 參數:
- xarray_like
要逐元素套用
log_expit
的值。- outndarray, optional
函數結果的可選輸出陣列
- 返回:
- out純量或 ndarray
計算值,與
x
形狀相同的 ndarray。
參見
註解
作為一個 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。