scipy.special.kl_div#
- scipy.special.kl_div(x, y, out=None) = <ufunc 'kl_div'>#
用於計算 Kullback-Leibler 散度的逐元素函數。
\[\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
實數引數
- outndarray,選用
函數結果的選用輸出陣列
- 返回:
- 純量或 ndarray
Kullback-Liebler 散度的值。
註解
在 0.15.0 版本中新增。
此函數為非負值,並且在 x 和 y 中為聯合凸函數。
此函數的起源在於凸優化;詳情請參閱 [1]。這就是為什麼此函數包含額外的 \(-x + y\) 項,超出 Kullback-Leibler 散度的預期。如需不含額外項的函數版本,請參閱
rel_entr
。參考文獻
[1]Boyd, Stephen 和 Lieven Vandenberghe。《凸優化》。劍橋大學出版社,2004 年。DOI:https://doi.org/10.1017/CBO9780511804441