均方根误差(RMSE)&平均绝对误差(MAE)详解

机器学习中很重要的一个指标——性能衡量指标。
典型性能衡量指标有均方根误差(RMSE)与平均绝对误差(MAE),表示的是期望值与实际值之间的距离。

均方根误差(Root Mean Square Error)


这个公式引入了几个十分常见的机器学习符号,

  • m是你在测量RMSE时,所使用的数据集中实例的数量。
    例如,如果你在评估RMSE时使用的验证集里包含2000个区域,则m=2000。
  • x^{(i)}是数据集中,第i个实例的所有特征值的向量(标签特征除外),y^{(i)}是标签(也就是我们期待该实例的输出值)。
    例如,如果数据集的第一个区域位于经度-118.29°,纬度33.91°,居民数量为1416,平均收入为38372美元,房价中位数为156400美元(暂且忽略其他特征),那么:
    x^{(1)}= \bigl( \begin{smallmatrix} -118.29\\33.91\\1416\\38372 \end{smallmatrix} \bigr)
    y^{(1)}=156400
  • X是数据集中所有实例的所有特征值的矩阵(标记特征除外)。每个实例为一行,也就是说,第i行等于x^{(i)}的转置矩阵,记作(x^{(i)})^T
    例如,刚刚描述的第一个区域,矩阵X即为如下所示:
  • h是系统的预测函数,也称为一个假设。当给定系统一个实例的特征向量x^{(i)},它会输出一个预测值 \hat{y}^{(i)}=h(x^{(i)})=158400( 读作“y-hat”)。
  • RMSE(X,h)是使用假设h在示例上测量的成本函数。

即便RMSE通常是回归任务的首选性能衡量指标,但在某些情况下,其他函数可能会更适合。例如,当有很多异常区域时,你可以考虑使用平均绝对误差。

平均绝对误差(Mean Absolute Error)


均方根误差和平均绝对误差都是测量两个向量(预测向量和目标值向量)之间的距离的方法。

  • 计算平方和的根(RMSE)与欧几里得范数(=L2范数=所有元素平方和的开平方)相对应:这是熟悉的距离的概念。
  • 计算绝对值之和(MAE)对应于L1范数(=所有元素绝对值之和),有时将其称为“曼哈顿范数”。
  • 一般而言,包含n个元素的向量v的L_k范数定义为||v||_k=(|{v_0}^k|+|{v_1}^k|+...+|{v_n}^k|)^{\frac{1}{k}}
  • 范数指标越高,他越关注大值而忽略小值。这就是RMSE比MAE更敏感的原因。但是当离散值呈指数形式稀有时(如钟形曲线),RMSE表现非常好,通常是首选。

参考:

《机器学习实战:基于Scikit-Learn和TensorFlow.pdf》书籍pdf版本

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容