如何表示使用 MSE 损失函数的回归 ANN 的准确性?

人工智能 神经网络 机器学习 回归 准确性 均方误差
2021-11-09 18:08:27

我有一个回归 MLP 网络,所有输入值都在 0 和 1 之间,并且正在使用 MSE 作为损失函数。验证样本集的最小 MSE 为 0.019。那么如何用“外行”术语来表达这个网络的“准确性”呢?如果 RMSE 是“以估计数量为单位”,这是否意味着我们可以说:“网络平均 (1-SQRT(0.019))*100 = 86.2% 准确”?

此外,在验证数据集中,存在三个“极端”预期值。最低的 MSE 导致预测值更接近这三个值,但并不像所有其他值那样接近,而稍高的 MSE 会导致相反的预测值更远离“极端”值,但相对于所有其他预期值更准确值(在我正在处理的情况下,这个结果实际上是首选)。我认为这可以通过 RMSE 对异常值的敏感性来解释?

2个回答

您不能使用错误来可靠地测量准确性。误差最好用来衡量模型当前学习的速度。

例如,使用不同的损失函数(交叉熵与 MSE)会导致在相似精度下的误差值大不相同。

还考虑到这一点,0.0000000001 的误差通常具有较低的验证集准确度和 0.1 的误差,因为先验可能过度训练。

至于你的第二个问题,是的,这是因为 MSE 对异常值有很大的偏见。我个人发现回归网络在大多数情况下都很困难,所以如果有可能将网络变成分类器,你可能会看到改进。

就像一般评论一样,请注意,从技术上讲,我们不会将“准确度”一词用于回归设置,例如您的回归设置 - 仅用于分类设置。

如果 RMSE 是“以估计数量为单位”,这是否意味着我们可以说:“网络平均 (1-SQRT(0.019))*100 = 86.2% 准确”?

不。

正如您正确引用的那样,RMSE 的优势在于它与您的预测数量采用相同的单位;所以,如果这个数量是美元,你可以(对业务用户)说模型的误差是 0.019 美元,这本身就很好。但是您不能将其转换为百分比 - 这将毫无意义。

如果需要以百分比形式给出回归模型的性能,最好的选择是平均绝对百分比误差 ( MAPE )。