均方误差 MSE 是什么?预测误差平方的平均值
均方误差(Mean Squared Error,MSE)是衡量预测值与真实值之间差距的一种常用指标。它的计算方法是:对每个样本,计算预测值与真实值之差,把这个差取平方,然后对所有样本求平均。均方误差越小,说明预测越准确。它是回归问题中最常用的损失函数和评价指标。
一个简单的例子
假设一个模型预测了三套房子的价格(单位:万元),预测值分别是 100、150、200,真实价格分别是 110、145、190。三个误差分别是负 10、5 和 10,平方之后是 100、25 和 100,平均值约为 75,这就是均方误差。为了让结果与原始数据的单位一致、更容易理解,常常再对它开平方,得到均方根误差(RMSE),在这个例子中约为 8.7 万元,可以理解为预测的“典型”误差大小。
为什么要取平方
如果直接把误差加起来求平均,正的误差和负的误差会相互抵消,即使每个预测都错得很离谱,平均误差也可能接近零。解决这个问题有两种办法:取绝对值,或者取平方。取平方有几个好处。第一,它是一个光滑的、处处可导的函数,便于用梯度下降等方法进行优化,而绝对值函数在零点处不可导。第二,它对大的误差惩罚更重:误差为 1 时平方是 1,误差为 10 时平方是 100。这会让模型特别努力地避免出现大的错误。第三,它有很好的数学性质:在线性回归中,最小化均方误差的问题可以直接求出解析解,这就是经典的最小二乘法,由勒让德和高斯在 19 世纪初提出。而且,在假设误差服从正态分布的情况下,最小化均方误差等价于最大似然估计。
它的缺点
对大误差惩罚重,这既是优点也是缺点:它使均方误差对异常值非常敏感。如果数据中有少数几个极端的异常值,比如录入错误的数据,它们的误差平方会非常大,主导整个均方误差,模型可能为了迁就这几个异常值而牺牲在大多数正常数据上的表现。在这种情况下,可以使用平均绝对误差(MAE),也就是误差绝对值的平均,它对异常值不那么敏感;或者使用 Huber 损失,它在误差较小时像均方误差,在误差较大时像平均绝对误差,兼顾了两者的优点。另外,均方误差的数值大小与数据的单位有关,不同问题之间难以直接比较,有时会用决定系数等相对的指标作为补充。
偏差-方差分解
均方误差在理论上还有一个重要的性质:模型预测的期望均方误差可以分解为三部分之和:偏差的平方、方差和不可避免的噪声。偏差反映模型的预测平均来说离真实值有多远,方差反映模型的预测对训练数据的变化有多敏感。这一分解是理解欠拟合和过拟合、理解偏差-方差权衡的基础。
其他应用
除了回归任务,均方误差还被广泛用于其他场合:在图像处理中,用它来衡量两张图片之间的差异,比如评价图像压缩和去噪的效果,峰值信噪比(PSNR)就是由均方误差计算出来的;在扩散模型的训练中,模型的目标通常就是让预测的噪声与真实噪声之间的均方误差最小;在自编码器中,用它来衡量重建的数据与原始数据之间的差距;在强化学习中,用它来训练价值函数。