mars.tensor.special.rel_entr#

mars.tensor.special.rel_entr(x, y, out=None, where=None, **kwargs)[来源]#

用于计算相对熵的逐元素函数。

\[\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}\]
Parameters
  • x (array_like) – 输入数组

  • y (类数组) – 输入数组

  • out (ndarray, 可选) – 函数结果的可选输出数组

Returns

输入的相对熵

Return type

标量或ndarray

另请参阅

entr, kl_div

备注

该函数在x和y上是联合凸的。

这个函数的起源在于凸规划;参见 1。给定两个离散概率分布 \(p_1, \ldots, p_n\)\(q_1, \ldots, q_n\),要获取统计的相对熵,计算总和

\[\sum_{i = 1}^n \mathrm{rel\_entr}(p_i, q_i).\]

有关详细信息,请参见 2

参考文献

1

Grant, Boyd, 和 Ye,“CVX: Matlab软件用于严格凸优化”, http://cvxr.com/cvx/

2

Kullback-Leibler 散度, https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence