在神经网络的上下文中(目标/误差/标准/成本/损失)函数有什么区别?

数据挖掘 术语
2021-09-25 08:42:29

标题说明了一切:到目前为止,我已经看到了三个功能术语,它们似乎相同/相似:

  • 误差函数
  • 标准函数
  • 成本函数
  • 目标函数
  • 损失函数

我正在研究分类问题

(W)=12X(X-(X))2

在哪里W是权重,是评估集,X是期望的输出(类)X(X)是给定的输出。这个函数似乎通常被称为“误差函数”。

但是在阅读这个主题时,我还看到了“标准函数”和“目标函数”这两个术语。对于神经网络,它们是否都意味着相同?

  • Geoffrey Hinton称为 softmax 神经元的交叉熵和(W)=12X(X-(X))2一个成本函数
4个回答

误差函数是表示模型计算的值与实际值之间差异的函数在优化领域,他们经常谈论两个阶段:设置模型的训练阶段,以及模型根据输出的真实值测试其行为的测试阶段。在训练阶段,误差对于改进模型是必要的,而在测试阶段,误差对于检查模型是否正常工作很有用。

目标函数是您想要最大化或最小化的函数当他们称其为“成本函数”(再次,它是目标函数)时,是因为他们只想最小化它。我认为成本函数和目标函数是从稍微不同的角度看到的同一件事。

标准”通常是停止您正在使用的算法的规则。假设您希望您的模型找到目标函数的最小值,在实际经验中,通常很难找到确切的最小值,并且算法可以继续工作很长时间。在这种情况下,您可以接受使用特定的停止标准将其“接近”到最佳状态。

我希望我对这些主题有正确的认识。

当应用于机器学习 (ML) 时,这些术语可能都表示相同或不同的含义,具体取决于上下文。

从优化的角度来看,人们总是希望将它们最小化(或最大化)以找到 ML 问题的解决方案。

每个术语都来自不同的领域(优化、统计、决策理论、信息论等),并带来了一些重叠:

有一个损失函数是很常见的,它由误差+ 一些其他成本项组成,在一些优化算法中用作目标函数:-)

在处理现代神经网络时,几乎任何误差函数最终都可以同时称为成本/损失/目标和标准。因此,区分它们的用法很重要:

  • 训练时直接优化的函数:通常称为损失函数,但也经常看到术语“成本”、“目标”或简单的“错误”。这些函数可以是几个其他损失或函数的组合,包括不同的误差项和正则化(例如,均方误差 + 权重的 L1 范数)。

  • 间接优化的功能:通常称为指标。这些被用作性能评估和其他启发式方法(例如,提前停止、交叉验证)的标准。几乎任何损失函数都可以用作度量,这很常见。然而,相反的情况可能效果不佳,因为常用的度量函数(例如 F1、AUC、IoU 甚至二进制精度)不适合直接优化。

目标函数又名准则- 要最小化最大化的函数

  • 误差函数- 要最小化的目标函数

    • 又名成本能量损失惩罚遗憾函数,在某些情况下,损失与单个示例相关,而成本与一组示例相关
  • 效用函数- 要最大化的目标函数

    • 又名适应度利润奖励函数

根据我从深度学习一书(Ian Goodfellow)中获得的知识,成本函数、误差函数、目标函数和损失函数是相同的。

在统计学中,我们使用要优化(最大化或最小化)的术语目标函数。

由于 ML 中的目标函数几乎总是处理模型产生的误差,因此只能将其最小化。因此,术语成本函数出现了。此外,由于目标函数计算误差(等效项是实际值和预测值之间的损失差异),因此它也具有误差函数和损失函数的名称。