负对数似然与交叉熵不同?

数据挖掘 机器学习 深度学习
2021-09-28 18:09:09

负对数似然

i=1mlogpmodel(y|x;θ)
可以乘以1m之后可以使用大数定律得到
1mi=1mlogpmodel(y|x;θ)E(logpmodel(y|x;θ))
作为样本量m趋于无穷大。这种期望就是“交叉熵”。

现在我的问题来了:我正在阅读的书(Goodfellow 等人的深度学习)提到了使用负对数似然的几个有吸引力的特性(如一致性)。但同时,它也直接使用交叉熵作为最大似然估计器的损失函数: 在此处输入图像描述 这对我来说没有意义 - 谈论负对数似然和交叉熵是相同的。将 NLL 作为交叉熵的近似值对我来说是有意义的。

  1. 我的意思是,它们给出了不同的结果——那么为什么要使用另一种呢?当他们没有给出相同的结果并且必须因此也影响性能时,这似乎是一个有效的问题。就像,我只知道使用交叉熵的神经网络,而不是使用 NLL 的神经网络 - 怎么会?

  2. 也许交叉熵甚至拥有除负对数似然之外的其他属性?

1个回答

认为问题在于,虽然

1mi=1mlogpmodel(y|x;θ)E(logpmodel(y|x;θ))

是的,右边不是所谓的交叉熵。事实上,我们无法获得对真实人口分布/数据生成过程的期望;几段下来,我们发现:

因此,我们可以将最大似然视为使模型分布与经验分布相匹配的尝试p^data. 理想情况下,我们希望匹配真实的数据生成分布pdata,但我们无法直接访问此分布。

他们还始终区分期望已经结束p^data,训练数据经验分布,不pdata,基础人口分布。

你的极限左侧已经是一个期望,但是在有限的训练数据上,就是所谓的交叉熵。(“交叉熵”是一个更广泛的术语,适用于任何一对概率分布。Goodfellow 等人注意到这一点(我的重点):

任何由负对数似然组成的损失都是训练集定义的经验分布和模型定义的概率分布之间的交叉熵。


因此,您的问题的答案是前提不正确:(此)交叉熵与负对数似然相同。用限制和人口交叉熵来回答你的问题,答案是“我们无法获得后者”。可以肯定的是,这将是更好的目标,但我们缺乏这些信息首先是建模的重点。