为什么交叉熵成为分类标准损失函数而不是 Kullback-Leibler 散度?

人工智能 机器学习 分类 比较 交叉熵 kl-散度
2021-10-26 20:29:09

交叉熵等于 KL 散度加上目标分布的熵。当两个分布相同时,KL 散度为零,这对我来说似乎比目标分布的熵更直观,目标分布的熵就是匹配上的交叉熵。

我并不是说另一个中的信息更多,只是人类的观点可能会发现零比正面更直观。当然,人们通常使用一种评估方法来真正了解分类的效果。但是交叉熵对 KL 散度的选择是否具有历史意义?

1个回答

当涉及到机器学习中的分类问题时,交叉熵和 KL 散度是相等的。

正如问题中已经说过的,一般公式是这样的:

H(p,q)=H(p)+DKL(pq),

在哪里p是“真实”/目标分布和q是估计分布,H(p,q)是交叉熵,H(p)是熵和D是 Kullback-Leibler 散度。

请注意,在机器学习中,p是 ground-truth 类的 one-hot 表示,即

p=[0,...,1,...,0]

这基本上是一个增量函数分布。但是 delta 函数的熵为零,因此 KL 散度简单地等于交叉熵。

事实上,即使H(p)不是0(例如,软标签),它是固定的,对梯度没有贡献。在优化方面,简单地删除它并优化 Kullback-Leibler 散度是安全的。