scipy.special.kl_div#

scipy.special.kl_div(x, y, out=None) = <ufunc 'kl_div'>#

Elementweise Funktion zur Berechnung der Kullback-Leibler-Divergenz.

\[\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{sonst} \end{cases}\end{split}\]
Parameter:
x, yarray_like

Reelle Argumente

outndarray, optional

Optionales Ausgabe-Array für die Funktionsergebnisse

Rückgabe:
skalar oder ndarray

Werte der Kullback-Leibler-Divergenz.

Hinweise

Hinzugefügt in Version 0.15.0.

Diese Funktion ist nicht negativ und in x und y gemeinsam konvex.

Der Ursprung dieser Funktion liegt in der konvexen Optimierung; siehe [1] für Details. Deshalb enthält die Funktion die zusätzlichen Terme \(-x + y\) im Vergleich zu dem, was man von der Kullback-Leibler-Divergenz erwarten würde. Eine Version der Funktion ohne die zusätzlichen Terme finden Sie unter rel_entr.

Referenzen

[1]

Boyd, Stephen und Lieven Vandenberghe. *Convex optimization*. Cambridge University Press, 2004. DOI:https://doi.org/10.1017/CBO9780511804441