您如何解释RMSLE(均方根对数误差)?


29

我一直在进行机器学习竞赛,他们使用RMSLE(均方根对数误差)评估性能,从而预测一类设备的销售价格。问题是我不确定如何解释最终结果的成功。

例如,如果我达到了的RMSLE,是否可以将它的指数幂提高并像rmse一样解释它?(即)?e e 1.052 = 2.863 = R M S E1.052ËË1.052=2.863=[R中号小号Ë

然后,我能否说我的预测平均为实际价格的?还是有更好的方法来解释指标?还是除了与其他模型的其他RMSLE进行比较外,甚至可以完全解释该指标? ±$2.863


以我的有限知识,它是:1.消除异方差性2.解决不同维度的问题

Answers:


26

我以前没有看过RMSLE,但我假设它是。1个ñ一世=1个ñ日志X一世-日志ÿ一世2

因此,求幂不会给您RMSE,它会给您

Ë1个ñ一世=1个ñ日志X一世-日志ÿ一世21个ñ一世=1个ñX一世-ÿ一世2

如果取双方的对数,则得到RMSLE与 ,这显然不是同一回事。1个2日志1个ñ一世=1个ñX一世-ÿ一世2

不幸的是,一般来说,没有一个良好的轻松关系(尽管比我聪明/比我更努力思考的人可能会使用Jensen的不等式来找出两者之间的某种关系)。

当然,它是对数转换变量的RMSE,这是值得的。如果您想大致了解分布的分布,则可以大致了解其对数的分布,因此RMSLE为1.052意味着“平均值”是真实值的倍,或者1 / 2.86。当然,这并不是RMSE的意思。2.86


嗨@Dougal谢谢!这绝对有助于清除问题。
Opus

18

我不知道是否有直接的泛型解释,甚至不分析特定案例。

例如,如果您用平均值预测所有情况并将其与您的方法进行比较,您可能会对评估错误有兴趣。

无论如何,我相信当预测值和真实值都是巨大数字时,当您不想惩罚预测值和真实值的巨大差异时,通常会使用RMSLE。在这些情况下,只有百分比差异很重要,因为您可以重写

日志P一世+1个-日志一种一世+1个=日志P一世+1个一种一世+1个

例如,对于P = 1000和A = 500,您将获得与P = 100000和A = 50000时大致相同的误差。


1

我的理解是,当我们同时对预测数和实际数进行对数运算时,我们将得到比原始数更平滑的结果。并减少大x的影响,同时强调的小x 。日志X+1个

通过绘制简单的图表,您还将获得直观的印象。ÿ=日志X+1个


1

有一种间接的方法可以用更容易理解的方式来衡量损失函数的性能,尽管它不会像您希望的那样直接转换值。

使用RMSLE对模型进行训练和测试后,只需对其采取新的度量标准即可。仅仅因为模型是在RMSLE上训练的,并不意味着您就不能再采用其他更易理解的损失函数作为指标。

例如,在Keras中,您可以在模型编译器的指标类别中指定额外的损失函数。在下方,MSLE用于训练模型(等效于RMSLE),但还记录了MAE和MSE:

model.compile(loss='mean_squared_logarithmic_error', optimizer='adam', metrics=['mean_absolute_error','mean_squared_error'])
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.