Machine learning 为什么我们使用RMSE而不是平均残差作为模型的评估标准?

Machine learning 为什么我们使用RMSE而不是平均残差作为模型的评估标准?,machine-learning,statistics,Machine Learning,Statistics,通常,我们使用RMSE来评估模型的性能。我很好奇为什么我们用平均残差来代替RMSE RMSE的定义: 此处提到的平均残差为: 例如: 我们有三个样品:0 1 2 这些样本的预测值为:0 2 10 所以平均残差是 RMSE是 那么这两个值之间的区别是什么呢?(我将RMSE和“平均残差”称为损失函数) 请注意,您为“平均残差”给出的表达式可以有正值、零值和负值,并且它不受下面的限制。这不是损失函数的一个好特性,它应该有一个与其最佳值对应的下限(通常为零)。如果你试图最小化这个函数,你实际上是在训练你

通常,我们使用RMSE来评估模型的性能。我很好奇为什么我们用平均残差来代替RMSE

RMSE的定义:

此处提到的平均残差为:

例如:

我们有三个样品:0 1 2

这些样本的预测值为:0 2 10

所以平均残差是

RMSE是

那么这两个值之间的区别是什么呢?

(我将RMSE和“平均残差”称为损失函数

  • 请注意,您为“平均残差”给出的表达式可以有正值、零值和负值,并且它不受下面的限制。这不是损失函数的一个好特性,它应该有一个与其最佳值对应的下限(通常为零)。如果你试图最小化这个函数,你实际上是在训练你的模型,使其尽可能地低估(你训练你的预测尽可能地小和负,这样损失函数就会很小)。在您的示例中,预测值-1000,-1000,-1000将产生损失函数的优秀(即小)值,即使预测非常错误。此外,由于平均误差为零,即使存在巨大的误差,也可能会得到零的损失值
  • 也许你想在“平均残差”函数中使用绝对值(求和中的每个项)。这实际上是一个可以使用的损耗函数,称为L1损耗,但它至少有以下两个缺点: A)它的分析性能不太好。例如,当使用线性模型进行回归时,RMSE标准是完全可解的(即,模型参数有一个使损失最小化的简单公式),但L1损失不是。 B)梯度是分段常数(想想绝对值函数的导数)。这意味着,如果使用基于梯度的方法执行优化,那么接近最佳值的参数值将获得与远离最佳值的值相同的梯度,而不是像您预期的那样,较大的误差将获得较大的校正

  • RMSE除了是一个凸函数外,还与高斯分布密切相关,因为RMSE的表达式与正态分布的标准偏差类似


    正态分布被很好地研究,并自然地出现在自然科学中发现的各种随机过程中。将误差等同于正态分布的扩散在许多情况下都很有用,例如对数似然()、对数后验(查看证据近似幻灯片)优化等。

    是的,平均残差应使用绝对值。谢谢你的回答,我知道了^_^