交叉熵

交叉熵(cross entropy)是一种损失函数, 衡量的是: 当真实分布是 p,但我们用另一个分布 q 去预测或编码时,平均会付出多少”信息代价”。

最常见公式是:

H(p,q)=−∑xp(x)log⁡q(x)H(p,q)=-\sum_x p(x)\log q(x)

  • p(x)p(x): 真实概率分布
  • q(x)q(x): 模型预测的概率分布
  • log⁡q(x)\log q(x) : 预测概率越小, 惩罚越大
  • 负号保证结果通常为正

真实类别的预测概率越高,损失越小;真实类别的预测概率越低,损失越大。


它和 熵、KL散度的关系是:

H(p,q)=H(p)+DKL(p∥q)H(p, q) = H(p) + D_{KL}(p \parallel q)

也就是: 交叉熵=真实概率分布的熵+真实概率相对于预测概率的KL散度