scipy.special.rel_entr#
- scipy.special.rel_entr(x, y, out=None) = <ufunc '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{其他情况} \end{cases}\end{split}\]- 参数:
- x, yarray_like
输入数组
- 出ndarray,可选
函数结果的可选输出数组
- 返回:
- 标量或ndarray
输入的相对熵
注释
Added in version 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]。
参考文献
[1]Boyd, Stephen 和 Lieven Vandenberghe。《凸优化》。剑桥大学出版社,2004年。 DOI:https://doi.org/10.1017/CBO9780511804441
[2]Kullback-Leibler 散度, https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence