我试图在Python中计算两个概率分布之间的KL散度。你知道吗
首先我使用libdit
from dit.divergences import kullback_leibler_divergence
p = dit.Distribution(['0', '1'], [3/4, 1/4])
q = dit.Distribution(['0', '1'], [1/2, 1/2])
kullback_leibler_divergence(p, q)
返回0.1887
如果我用scipy做同样的事情
from scipy.stats import entropy
p = [3/4, 1/4]
q = [1/2, 1/2]
entropy(p,q)
返回0.1308
为什么结果不同?你知道吗
对数基是不同的。 dit使用logu 2,而scipy使用logu e
相关问题 更多 >
编程相关推荐