scipy.special.kl_div#

scipy.special.kl_div(x, y, выход=None) = 'kl_div'>#

Поэлементная функция для вычисления дивергенции Кульбака-Лейблера.

\[\begin{split}\mathrm{kl\_div}(x, y) = \begin{cases} x \log(x / y) - x + y & x > 0, y > 0 \\ y & x = 0, y \ge 0 \\ \infty & \text{otherwise} \end{cases}\end{split}\]
Параметры:
x, yarray_like

Вещественные аргументы

выходndarray, необязательно

Необязательный выходной массив для результатов функции

Возвращает:
скаляр или ndarray

Значения дивергенции Кульбака-Лейблера.

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

entr, rel_entr, scipy.stats.entropy

Примечания

Добавлено в версии 0.15.0.

Эта функция неотрицательна и совместно выпукла по x и y.

Происхождение этой функции — в выпуклом программировании; см. [1] для подробностей. Вот почему функция содержит дополнительный \(-x + y\) членов сверх того, что можно ожидать от расхождения Кульбака-Лейблера. Для версии функции без дополнительных членов см. rel_entr.

Ссылки

[1]

Boyd, Stephen and Lieven Vandenberghe. Выпуклая оптимизация. Cambridge University Press, 2004. DOI:https://doi.org/10.1017/CBO9780511804441