平均绝对误差MAE(mean absolute error) 和均方根误差 RMSE(root mean squared error)是衡量变量精度的两个最常用的指标,同时也是机器学习中评价模型的两把重要标尺。那两者之间的差异在哪里?它对我们的生活有什么启示?
平均绝对误差MAE(mean absolute error)是绝对误差的平均值,它其实是更一般形式的误差平均值。因为如果误差是[-1,0,1],平均值就是0,但这并不意味之系统不存在误差,只是正负相互抵消了,因此我们要加上绝对值。它的定义表达式为:
换成更直接的表达式:
而均方根误差 RMSE(root mean squared error),也有资料称为RMSD,也可以测量误差的平均大小,它是预测值和实际观测之间平方差异平均值的平方根。它的定义为:
换成更直接的表达式为:
只是看这些抽象的公式,很难帮我们理解它们之间的差异,让我们来用一个实际的例子说明:
假设你想了解量女朋友在准时方面的特点,你统计了近两个月女朋友约会的迟到时间(即是实际到达时间和约定时间的差距,或误差,单位可以是分钟,时间有夸大,我们只想你更好理解概念),如下:
第一个月迟到时间1 = ([5, 10, 5, 10, 5, 10, 5, 10, 5, 10, 5, 10, 5, 10, 5, 10, 5, 1000])
第二个月迟到时间2= ([5, 10, 5, 10, 5, 10, 5, 10, 5, 10, 5, 10, 5, 10, 5, 10, 5, 10])
那么我们来计算两个序列的平均绝对误差MAE和均方根误差RMSE。
我们计算得出:
对于第一个月:平均绝对误差MAE2=62.5分钟,均方根误差RMSE2:235.82分钟
对于第二个月:平均绝对误差MAE1=7.5分钟,均方根误差RMSE1=7.91分钟
第一个月的平均绝对误差MAE(62.5)与均方根误差RMSE(235.82)之比接近1:4,第二个月迟到时间的平均绝对误差MAE(7.5)与均方根误差RMSE(7.91)之比约为1:1。我们应该用哪个量衡量女朋友守时呢?我们看到均方根误差RMSE受异常值的影响更大。如果我们去评判女朋友守时方面的进步,用RMSE标准,我们更可以看到她的进步之大,也许更要奖励她一顿饕餮盛宴。
一般来说,我们应该期望MAE值比RMSE值小得多。因为对于均方根误差RMSE,每个误差都是平方的。这意味着单个误差呈二次增长,并且对最终RMSE值有不同的影响。
这两组误差序列之间的惟一区别是序列1中的极值是1000,而不是10。因此,我们看到较大的异常值对均方根误差RMSE的影响更大。
当我们处理较大的数据集时,我们不能检查每个值以了解是否有一个或一些异常值,或者是否所有的错误都系统性地更高。查看MAE和RMSE的比值可以帮助我们理解是否存在较大但不常见的错误。