在收敛方面比较MSE损失和交叉熵损失

问题描述 投票:1回答:2

对于一个非常简单的分类问题,我有一个目标向量[0,0,0,... 0]和一个预测向量[0,0.1,0.2,.... 1]会使交叉熵损失更好地收敛/更快还是MSE损失?当我绘制它们时,在我看来,MSE损失具有较低的误差范围。那为什么会这样? enter image description here

或者例如当我将目标设为[1,1,1,1 .... 1]时,我得到以下内容:enter image description here

machine-learning logistic-regression loss cross-entropy mean-square-error
2个回答
6
投票

你听起来有点困惑......

  • 比较MSE和交叉熵损失的值并说一个低于另一个就像比较苹果和橙子
  • MSE用于回归问题,而交叉熵损失用于分类问题;这些背景是相互排斥的,因此比较它们相应的损失度量的数值是没有意义的
  • 当您的预测向量类似于[0,0.1,0.2,....1](即具有非整数分量)时,正如您所说,问题是回归(而不是分类);在分类设置中,我们通常使用单热编码的目标向量,其中只有一个组件为1,其余组件为0
  • [1,1,1,1....1]的目标向量可以是回归设置,也可以是多标签多类别分类,即输出可能同时属于多个类别的情况

除此之外,你的情节选择,以及水平轴上预测的百分比(?)令人费解 - 我从未在ML诊断中看到过这样的情节,我不确定它们到底代表什么或为什么它们可以是有用...

如果您想详细讨论分类设置中的交叉熵损失和准确性,您可以查看我的qazxsw poi。


4
投票

作为已接受答案的补充,我将回答以下问题

  1. 从概率角度对MSE损失和交叉熵损失的解释是什么?
  2. 为什么交叉熵用于分类,MSE用于线性回归?

TL; DR如果(随机)目标变量来自高斯分布,则使用MSE损失;如果(随机)目标变量来自多项分布,则使用分类交叉熵损失。

MSE(均方误差)

线性回归的假设之一是多变量正态性。由此得出目标变量是正态分布的(更多关于线性回归的假设可以找到this answerhere)。

具有均值和方差的here由。给出 通常在机器学习中,我们使用均值0和方差1处理分布(或者我们将数据转换为均值0和方差1)。在这种情况下,正态分布将是, 这称为标准正态分布。 对于具有权重参数和精度(反方差)参数的正态分布模型,给定输入Gaussian distribution(Normal distribution)观察单个目标t的概率由下式表示

,其中是分布的平均值,并按模型计算

现在给出输入的目标矢量的概率可以表示为

取左右项的自然对数得出

正常功能的对数似然性在哪里。通常训练模型涉及相对于优化似然函数。现在给出参数的最大似然函数(相对于常数项可以省略),

对于训练,省略常数的模型不会影响收敛。这称为平方误差,并且取x得到均方误差。 ,

交叉熵

在进入更一般的交叉熵函数之前,我将解释特定类型的交叉熵 - 二元交叉熵。

Binary Cross entropy

二元交叉熵的假设是目标变量的概率分布是从伯努利分布得出的。根据维基百科

伯努利分布是随机变量的离散概率分布,其取值为1的概率为p,值为0的概率为q = 1-p

伯努利分布随机变量的概率由下式给出 ,其中和p是成功的概率。这可以简单地写成 取双方的负自然对数得出

,这称为二元交叉熵。

Categorical cross entropy

当随机变量是多变量(来自多项式分布)时具有以下概率分布的一般情况下,交叉熵的推广遵循一般情况

采用双方的负自然对数产生分类交叉熵损失。

,

结论

当目标变量来自伯努利分布时使用交叉熵,当目标变量来自正态分布时使用MSE。

© www.soinside.com 2019 - 2024. All rights reserved.