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

Относительная энтропия входных данных

Смотрите также

entr, kl_div, scipy.stats.entropy

Примечания

Добавлено в версии 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