scipy.special.rel_entr#
- scipy.special.rel_entr(x, y, out=None) = <ufunc 'rel_entr'>#
Elementweise Funktion zur Berechnung der relativen Entropie.
\[\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{ansonsten} \end{cases}\end{split}\]- Parameter:
- x, yarray_like
Eingabearrays
- outndarray, optional
Optionales Ausgabe-Array für die Funktionsergebnisse
- Rückgabe:
- skalar oder ndarray
Relative Entropie der Eingaben
Siehe auch
Hinweise
Hinzugefügt in Version 0.15.0.
Diese Funktion ist gemeinsam konvex in x und y.
Der Ursprung dieser Funktion liegt in der konvexen Programmierung; siehe [1]. Gegeben zwei diskrete Wahrscheinlichkeitsverteilungen \(p_1, \ldots, p_n\) und \(q_1, \ldots, q_n\), ist die Definition der relativen Entropie im Kontext der *Informationstheorie*
\[\sum_{i = 1}^n \mathrm{rel\_entr}(p_i, q_i).\]Um die letztere Größe zu berechnen, verwenden Sie
scipy.stats.entropy.Siehe [2] für Details.
rel_entrhat experimentelle Unterstützung für Python Array API Standard-kompatible Backends zusätzlich zu NumPy. Bitte erwägen Sie, diese Funktionen zu testen, indem Sie eine UmgebungsvariableSCIPY_ARRAY_API=1setzen und CuPy-, PyTorch-, JAX- oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen von Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
n/a
Siehe Unterstützung für den Array API Standard für weitere Informationen.
Referenzen
[1]Boyd, Stephen und Lieven Vandenberghe. *Convex optimization*. Cambridge University Press, 2004. DOI:https://doi.org/10.1017/CBO9780511804441
[2]Kullback-Leibler-Divergenz, https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence