numpy.logaddexp2#
-
numpy.logaddexp2(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, сигнатура]) =
'logaddexp2'> # Логарифм суммы экспонент входных данных по основанию 2.
Вычисляет
log2(2**x1 + 2**x2). Эта функция полезна в машинном обучении, когда вычисленные вероятности событий могут быть настолько малы, что превышают диапазон обычных чисел с плавающей запятой. В таких случаях вместо этого можно использовать логарифм по основанию 2 вычисленной вероятности. Эта функция позволяет складывать вероятности, хранящиеся таким образом.- Параметры:
- x1, x2array_like
Входные значения. Если
x1.shape != x2.shape, они должны быть транслируемы к общей форме (которая становится формой вывода).- выходndarray, None или кортеж из ndarray и None, опционально
Место для сохранения результата. Если предоставлено, оно должно иметь форму, в которую транслируются входные данные. Если не предоставлено или None, возвращается вновь выделенный массив. Кортеж (возможен только как ключевой аргумент) должен иметь длину, равную количеству выходов.
- гдеarray_like, необязательный
Это условие транслируется на вход. В местах, где условие истинно, выход массив будет установлен в результат ufunc. В других местах выход массив сохранит своё исходное значение. Обратите внимание, что если неинициализированный выход массив создается через стандартный
out=None, позиции внутри неё, где условие ложно, останутся неинициализированными.- **kwargs
Для других аргументов, доступных только по ключевым словам, смотрите документация ufunc.
- Возвращает:
- результатndarray
Логарифм по основанию 2 от
2**x1 + 2**x2. Это скаляр, если оба x1 и x2 являются скалярами.
Смотрите также
logaddexpЛогарифм суммы экспонент входных данных.
Примеры
>>> import numpy as np >>> prob1 = np.log2(1e-50) >>> prob2 = np.log2(2.5e-50) >>> prob12 = np.logaddexp2(prob1, prob2) >>> prob1, prob2, prob12 (-166.09640474436813, -164.77447664948076, -164.28904982231052) >>> 2**prob12 3.4999999999999914e-50