多重回归中 MAE 特定上下文中损失函数和成本函数的区别?

数据挖掘 神经网络 损失函数 成本函数
2022-02-12 21:30:10

在处理人工神经网络中的回归问题时,我经常遇到平均绝对误差损失函数,但在这种情况下,我仍然对“损失”和“成本”函数之间的区别感到有些困惑。

我知道“成本”函数是“损失”函数的平均值,例如在处理小批量时。损失是小批量中单个样本的单个值,成本是整个小批量损失的总和的平均值。

但是,考虑一个多重回归问题,其中网络的输出是 5 个值的向量,而真实标签也是 5 个值的向量。在这种情况下,损失函数是否仍会被标记为“损失”,还是现在是“成本”函数?由于我们必须明智地计算绝对误差样本,然后对其求和并取平均值,但我们也必须对小批量中的每个样本做同样的事情。

2个回答

你混淆了两个概念。在您的输出具有多个维度的示例中,您必须有某种方法来测量您的预测错过真实值的距离;叫这些di. 损失函数将是所有di价值观。您可以随意使用绝对差值、平方差值或以任意顺序混合两者。

例如,让真值是{(1,2,1),(2,5,0),(2,3,3)}并且预测是{(4,1,1),(2,4,1),(0,4,2)}.

首先,计算点对之间的距离,使用一些你觉得有趣的距离,例如L1或者L2.

d1,L1((1,2,1),(4,1,1))=|14|+|21|+|11|=4d1,L2((1,2,1),(4,1,1))=(14)2+(21)2+(11)2=10

在这个多元设置中,这些距离值类似于简单线性回归中的残差,因此将这些“残差”保留在损失函数中。你可以选择平方所有的di值(对于任何一个L1或者L2,添加这些平方值,并取平方根(平方损失),或者您可以选择取那些的绝对值di值并添加这些绝对值。你可以用L1或者L2上一步中的距离(或其他距离)。

解决“损失”与“成本”功能,这些术语是松散的。将您在模型训练中旨在优化的功能与考虑错误后果的损益区分开来是公平的,例如对您错误诊断的患者进行不必要的治疗并导致他们不得不烦恼去药房与拒绝对患有疾病的患者进行挽救生命的治疗,但您错过了。您在模型训练中旨在优化的功能(很可能)是交叉熵损失(在某些圈子中为“对数损失”),然后您对误诊的相对成本的印象稍后会发挥作用。

根据您的参考,人们不会与他们所称的内容保持一致,有些人甚至会讨论“目标”功能。

我对损失和成本之间的正式区别不是很了解。据我所知,两者之间没有太大区别:在 NN 的上下文中,损失专门用于衡量预测值和真实值之间的差异,通常在验证集上。成本更普遍,成本函数描述了用“越低越好”值来衡量性能的任何方法。请注意,这些术语在许多不同的上下文中使用,因此为特定设置定义它们的具体方式不是很重要。

在问题中描述的多重回归问题中,我想说最重要的一点是不要在不同的目标变量中使用均值 MAE:除非有信息表明这些变量具有完全相同的范围,否则它们的 MAE 值不具有可比性,因此不能被平均。一般来说,多元回归对应于应独立评估的多个问题。但是,如果特定的上下文证明它是合理的,那么平均或计算一些临时成本函数可能是有意义的。