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

时间:2018-03-16 13:41:01

标签: machine-learning logistic-regression loss cross-entropy mean-square-error

对于一个非常简单的分类问题,我有一个目标向量[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

2 个答案:

答案 0 :(得分:6)

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

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

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

如果您想详细讨论交叉熵损失&分类设置的准确性,您可以查看我的this answer

答案 1 :(得分:4)

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

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

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

MSE(均方误差)

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

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

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

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

eq eq4
取左右对数的自然对数

eq
eq eq
其中eq是正常函数的对数似然。训练模型通常涉及针对eq优化似然函数。现在,参数eq的最大似然函数由给出(关于eq的常数项可以省略),

eq

为了训练模型,省略常数eq不会影响收敛。 eq 这称为平方误差,取mean得出均方误差。
eq

交叉熵

在介绍更通用的交叉熵函数之前,我将解释特定类型的交叉熵-二元交叉熵。

二元交叉熵

二元互熵的假设是从伯努利分布得出目标变量的概率分布。根据Wikipedia

  

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

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

eq,这称为二进制交叉熵。

分类交叉熵

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

eq

取双方的负自然对数会产生绝对的交叉熵损失。

eq10

结论

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