scipy.special.rel_entr#
-
scipy.special.rel_entr(x, y, выход=None) =
'rel_entr'> # Поэлементная функция для вычисления относительной энтропии.
\[\begin{split}\mathrm{rel\_entr}(x, y) = \begin{cases} x \log(x / y) & x > 0, y > 0 \\ 0 & x = 0, y \ge 0 \\ \infty & \text{otherwise} \end{cases}\end{split}\]- Параметры:
- x, yarray_like
Входные массивы
- выходndarray, необязательно
Необязательный выходной массив для результатов функции
- Возвращает:
- скаляр или ndarray
Относительная энтропия входных данных
Смотрите также
Примечания
Добавлено в версии 0.15.0.
Эта функция совместно выпукла по x и y.
Происхождение этой функции — в выпуклом программировании; см. [1]Для двух дискретных распределений вероятностей \(p_1, \ldots, p_n\) и \(q_1, \ldots, q_n\), определение относительной энтропии в контексте теория информации является
\[\sum_{i = 1}^n \mathrm{rel\_entr}(p_i, q_i).\]Для вычисления последней величины используйте
scipy.stats.entropy.См. [2] подробности.
rel_entrимеет экспериментальную поддержку совместимых с Python Array API Standard бэкендов в дополнение к NumPy. Пожалуйста, рассмотрите тестирование этих функций, установив переменную окруженияSCIPY_ARRAY_API=1и предоставление массивов CuPy, PyTorch, JAX или Dask в качестве аргументов массива. Поддерживаются следующие комбинации бэкенда и устройства (или других возможностей).Библиотека
CPU
GPU
NumPy
✅
н/д
CuPy
н/д
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
н/д
См. Поддержка стандарта array API для получения дополнительной информации.
Ссылки
[1]Boyd, Stephen and Lieven Vandenberghe. Выпуклая оптимизация. Cambridge University Press, 2004. DOI:https://doi.org/10.1017/CBO9780511804441
[2]Расстояние Кульбака-Лейблера, https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence