标题说明了一切:到目前为止,我已经看到了三个功能术语,它们似乎相同/相似:
- 误差函数
- 标准函数
- 成本函数
- 目标函数
- 损失函数
我正在研究分类问题
在哪里是权重,是评估集,是期望的输出(类)和是给定的输出。这个函数似乎通常被称为“误差函数”。
但是在阅读这个主题时,我还看到了“标准函数”和“目标函数”这两个术语。对于神经网络,它们是否都意味着相同?
- Geoffrey Hinton称为 softmax 神经元的交叉熵和一个成本函数。
标题说明了一切:到目前为止,我已经看到了三个功能术语,它们似乎相同/相似:
我正在研究分类问题
在哪里是权重,是评估集,是期望的输出(类)和是给定的输出。这个函数似乎通常被称为“误差函数”。
但是在阅读这个主题时,我还看到了“标准函数”和“目标函数”这两个术语。对于神经网络,它们是否都意味着相同?
误差函数是表示模型计算的值与实际值之间差异的函数。在优化领域,他们经常谈论两个阶段:设置模型的训练阶段,以及模型根据输出的真实值测试其行为的测试阶段。在训练阶段,误差对于改进模型是必要的,而在测试阶段,误差对于检查模型是否正常工作很有用。
目标函数是您想要最大化或最小化的函数。当他们称其为“成本函数”(再次,它是目标函数)时,是因为他们只想最小化它。我认为成本函数和目标函数是从稍微不同的角度看到的同一件事。
“标准”通常是停止您正在使用的算法的规则。假设您希望您的模型找到目标函数的最小值,在实际经验中,通常很难找到确切的最小值,并且算法可以继续工作很长时间。在这种情况下,您可以接受使用特定的停止标准将其“接近”到最佳状态。
我希望我对这些主题有正确的认识。
当应用于机器学习 (ML) 时,这些术语可能都表示相同或不同的含义,具体取决于上下文。
从优化的角度来看,人们总是希望将它们最小化(或最大化)以找到 ML 问题的解决方案。
每个术语都来自不同的领域(优化、统计、决策理论、信息论等),并带来了一些重叠:
有一个损失函数是很常见的,它由误差+ 一些其他成本项组成,在一些优化算法中用作目标函数:-)
在处理现代神经网络时,几乎任何误差函数最终都可以同时称为成本/损失/目标和标准。因此,区分它们的用法很重要:
训练时直接优化的函数:通常称为损失函数,但也经常看到术语“成本”、“目标”或简单的“错误”。这些函数可以是几个其他损失或函数的组合,包括不同的误差项和正则化(例如,均方误差 + 权重的 L1 范数)。
间接优化的功能:通常称为指标。这些被用作性能评估和其他启发式方法(例如,提前停止、交叉验证)的标准。几乎任何损失函数都可以用作度量,这很常见。然而,相反的情况可能效果不佳,因为常用的度量函数(例如 F1、AUC、IoU 甚至二进制精度)不适合直接优化。
目标函数又名准则- 要最小化或最大化的函数
误差函数- 要最小化的目标函数
效用函数- 要最大化的目标函数
根据我从深度学习一书(Ian Goodfellow)中获得的知识,成本函数、误差函数、目标函数和损失函数是相同的。
在统计学中,我们使用要优化(最大化或最小化)的术语目标函数。
由于 ML 中的目标函数几乎总是处理模型产生的误差,因此只能将其最小化。因此,术语成本函数出现了。此外,由于目标函数计算误差(等效项是实际值和预测值之间的损失差异),因此它也具有误差函数和损失函数的名称。