【问题标题】:In which cases is the cross-entropy preferred over the mean squared error? [closed]在哪些情况下,交叉熵优于均方误差? [关闭]
【发布时间】:2016-07-30 15:18:58
【问题描述】:

虽然上述两种方法都为更好的预测接近度提供了更好的分数,但仍然首选交叉熵。是在每种情况下还是在某些特殊情况下我们更喜欢交叉熵而不是 MSE?

【问题讨论】:

标签: machine-learning neural-network backpropagation mean-square-error cross-entropy


【解决方案1】:

交叉熵是分类的首选,而均方误差是回归的最佳选择之一。这直接来自问题本身的陈述 - 在分类中,您使用非常特殊的一组可能的输出值,因此 MSE 的定义很差(因为它没有这种知识,因此以不兼容的方式惩罚错误)。为了更好地理解现象,最好遵循并理解它们之间的关系

  1. 交叉熵
  2. 逻辑回归(二元交叉熵)
  3. 线性回归 (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 链接不再有效。
猜你喜欢
  • 1970-01-01
  • 2017-06-18
  • 2019-10-13
  • 2019-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-13
相关资源
最近更新 更多