在哪些情况下,交叉熵优于均方误差? [关闭]
Posted
技术标签:
【中文标题】在哪些情况下,交叉熵优于均方误差? [关闭]【英文标题】:In which cases is the cross-entropy preferred over the mean squared error? [closed] 【发布时间】:2016-07-30 15:18:58 【问题描述】:虽然上述两种方法都为更好的预测接近度提供了更好的分数,但仍然首选交叉熵。是在每种情况下还是在某些特殊情况下我们更喜欢交叉熵而不是 MSE?
【问题讨论】:
见heliosphan.org/cross-entropy.html和heliosphan.org/generative-models.html 【参考方案1】:交叉熵是分类的首选,而均方误差是回归的最佳选择之一。这直接来自问题本身的陈述 - 在分类中,您使用非常特殊的一组可能的输出值,因此 MSE 的定义很差(因为它没有这种知识,因此以不兼容的方式惩罚错误)。为了更好地理解现象,最好遵循并理解它们之间的关系
-
交叉熵
逻辑回归(二元交叉熵)
线性回归 (MSE)
您会注意到,两者都可以看作是最大似然估计量,只是对因变量有不同的假设。
【讨论】:
您能否详细说明“关于因变量的假设”? @Fake - 正如 Duc 在单独的答案中指出的那样,逻辑回归假设因变量的二项式分布(或交叉熵和 softmax 的广义情况下的多项式),而线性回归假设它是变量的线性函数加上来自具有固定方差的 0 均值高斯噪声的 IID 采样噪声。 我曾经使用 MSE 损失训练单个输出神经元以输出 0 或 1 [用于负类和正类]。结果是所有的输出都处于极端——你无法选择一个阈值。使用两个具有 CE 损失的神经元得到了更平滑的结果,因此我可以选择一个阈值。如果您使用单个神经元,则可能要使用 BCE。【参考方案2】:当您从概率和分布方面推导成本函数时,您可以观察到,当您假设误差服从正态分布时会发生 MSE,而当您假设二项式分布时会发生交叉熵。这意味着当你使用 MSE 时,你隐含地在做回归(估计),而当你使用 CE 时,你在做分类。希望它有一点帮助。
【讨论】:
假设我们有 2 个概率分布向量:- 实际 [0.3, 0.5, 0.1, 0.1] 和预测 [0.4, 0.2, 0.3, 0.1] 现在如果我们使用 MSE 来确定我们的损失,为什么会这是比KL散度更糟糕的选择吗?当我们对这样的数据执行 MSE 时,遗漏了哪些特征? 您能否展示高斯如何导致 MSE 而二项式如何导致交叉熵? @KunyuShi 查看正态分布和伯努利分布的 PDF/PMF。如果我们取他们的日志(我们通常这样做,以简化损失函数),我们分别得到 MSE 和二元交叉熵。【参考方案3】:例如,如果您进行逻辑回归,您将使用 sigmoid 函数来估计 de 概率,使用交叉熵作为损失函数并使用梯度下降来最小化它。这样做但使用 MSE 作为损失函数可能会导致非凸问题,您可能会发现局部最小值。使用交叉熵会导致凸问题,您可能会在其中找到最佳解决方案。
https://www.youtube.com/watch?v=rtD0RvfBJqQ&list=PL0Smm0jPm9WcCsYvbhPCdizqNKps69W4Z&index=35
这里还有一个有趣的分析: https://jamesmccaffrey.wordpress.com/2013/11/05/why-you-should-use-cross-entropy-error-instead-of-classification-error-or-mean-squared-error-for-neural-network-classifier-training/
【讨论】:
YouTube 链接不再有效。以上是关于在哪些情况下,交叉熵优于均方误差? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章