对于一个非常简单的分类问题,我有一个目标向量[0,0,0,... 0]和一个预测向量[0,0.1,0.2,.... 1]会使交叉熵损失更好地收敛/更快还是MSE损失?当我绘制它们时,在我看来,MSE损失具有较低的误差范围。那为什么会这样?
你听起来有点困惑......
[0,0.1,0.2,....1]
(即具有非整数分量)时,正如您所说,问题是回归(而不是分类);在分类设置中,我们通常使用单热编码的目标向量,其中只有一个组件为1,其余组件为0[1,1,1,1....1]
的目标向量可以是回归设置,也可以是多标签多类别分类,即输出可能同时属于多个类别的情况除此之外,你的情节选择,以及水平轴上预测的百分比(?)令人费解 - 我从未在ML诊断中看到过这样的情节,我不确定它们到底代表什么或为什么它们可以是有用...
如果您想详细讨论分类设置中的交叉熵损失和准确性,您可以查看我的qazxsw poi。
作为已接受答案的补充,我将回答以下问题
TL; DR如果(随机)目标变量来自高斯分布,则使用MSE损失;如果(随机)目标变量来自多项分布,则使用分类交叉熵损失。
线性回归的假设之一是多变量正态性。由此得出目标变量是正态分布的(更多关于线性回归的假设可以找到this answer和here)。
具有均值和方差的here由。给出
通常在机器学习中,我们使用均值0和方差1处理分布(或者我们将数据转换为均值0和方差1)。在这种情况下,正态分布将是,
这称为标准正态分布。
对于具有权重参数和精度(反方差)参数的正态分布模型,给定输入Gaussian distribution(Normal distribution)观察单个目标t
的概率由下式表示
,其中是分布的平均值,并按模型计算
现在给出输入的目标矢量的概率可以表示为
取左右项的自然对数得出
正常功能的对数似然性在哪里。通常训练模型涉及相对于优化似然函数。现在给出参数的最大似然函数(相对于常数项可以省略),
对于训练,省略常数的模型不会影响收敛。这称为平方误差,并且取x
得到均方误差。
,
在进入更一般的交叉熵函数之前,我将解释特定类型的交叉熵 - 二元交叉熵。
二元交叉熵的假设是目标变量的概率分布是从伯努利分布得出的。根据维基百科
伯努利分布是随机变量的离散概率分布,其取值为1的概率为p,值为0的概率为q = 1-p
伯努利分布随机变量的概率由下式给出 ,其中和p是成功的概率。这可以简单地写成 取双方的负自然对数得出
,这称为二元交叉熵。
当随机变量是多变量(来自多项式分布)时具有以下概率分布的一般情况下,交叉熵的推广遵循一般情况
采用双方的负自然对数产生分类交叉熵损失。
,
当目标变量来自伯努利分布时使用交叉熵,当目标变量来自正态分布时使用MSE。