我想计算以下离散分布的交叉熵(q,p):
p = [0.1, 0.3, 0.6]
q = [0.0, 0.5, 0.5]
并使用 numpy 库:
import numpy as np
p = np.array([0.1, 0.3, 0.6])
q = np.array([0.0, 0.5, 0.5])
cross_entropy = -np.sum(q*np.log(p))
哪个输出
0.857399
但是我正在尝试手动计算方程式,但得到了不同的结果:
-(0*log(0.1) + 0.5*log(0.3) + 0.5*log(0.6))
我计算的结果是:
0.37236
我想知道我做错了手动计算的哪一部分。如果我犯了任何愚蠢的错误,请原谅我糟糕的数学。:'>