2

对于一个非常简单的分类问题,我有一个目标向量 [0,0,0,....0] 和一个预测向量 [0,0.1,0.2,....1],交叉熵损失会更好地收敛/更快还是 MSE 会丢失?当我绘制它们时,在我看来,MSE 损失的误差幅度较低。为什么会这样? 在此处输入图像描述

或者例如,当我将目标设为 [1,1,1,1....1] 时,我得到以下信息: 在此处输入图像描述

4

2 回答 2

7

你听起来有点迷茫...

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

最重要的是,您的绘图选择(水平轴上的预测百分比(?))令人费解 - 我从未在 ML 诊断中见过这样的绘图,我不太确定它们究竟代表什么或为什么它们可以有用...

如果您想详细讨论分类设置中的交叉熵损失和准确性,您可以看看我的这个答案

于 2018-03-16T15:55:16.730 回答
7

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

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

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

MSE(均方误差)

线性回归的假设之一是多变量正态性。由此可见,目标变量是正态分布的(更多关于线性回归的假设可以在这里这里找到)。

具有均值eq2和方差的高斯分布(正态分布)eq3 由下式给出。
eq1
在机器学习中,我们经常处理均值 0 和方差 1 的分布(或者我们将数据转换为均值 0 和方差 1)。在这种情况下,正态分布将是,
eq4 这称为标准正态分布。
对于具有权重参数eq6和精度(逆方差)参数的正态分布模型,给定输入eq6观察到单个目标的概率由以下等式表示tx

情商, 其中情商是分布的平均值,由模型计算为
情商

情商现在给定输入的目标向量的概率情商可以表示为

情商 eq4
取左右项的自然对数产生

情商
情商 情商
情商正常函数的对数似然 在哪里。通常训练模型涉及优化关于 的似然函数情商。现在参数情商的最大似然函数由下式给出(关于 的常数项情商 可以省略),

情商

对于训练模型,省略常数情商不会影响收敛。 情商 这称为平方误差并取mean收益率均方误差。
情商,

交叉熵

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

二元交叉熵

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

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

伯努利分布随机变量的概率由下式给出
情商,其中情商p 是成功概率。这可以简单地写为 情商
取两边的负自然对数收益率

情商,这称为二元交叉熵。

分类交叉熵

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

情商

两边取负自然对数产生分类交叉熵损失。

eq10,

于 2018-12-26T14:08:45.403 回答