均方误差,通常缩写为MSE,是一种评估模型表现的指标。与提供误差绝对值直接平均值的平均绝对误差(MAE)不同,MSE采用先将误差平方再进行平均的方法。这种看似微小的改变对模型表现的评估方式有重要影响。
什么是均方误差 (MSE)?
均方误差计算实际值与预测值之间平方差的平均值。可以这样理解:对于模型进行的每次预测,您计算误差(实际值 - 预测值),将该误差平方,然后找出所有这些平方误差的平均值。
为什么要将误差平方?
消除负值: 平方确保了所有误差贡献都是正值。一个-10的误差和一个+10的误差代表相同大小的错误,只是方向相反。将它们都平方后结果为100,确保在平均时,它们被视为与实际值同样重要的偏差。这可以避免过高的预测与过低的预测相互抵消。
更大地惩罚大误差: 这是MSE最突出的特点。平方对较大的误差给予不成比例的更多权重 (weight)。例如:
误差2变为 22=42^2 = 422=4。
误差10变为 102=10010^2 = 100102=100。
误差10是误差2的5倍大,但其平方值是25倍大(100/4=25100 / 4 = 25100/4=25)。这意味着偶尔产生大误差的模型将会有更高的MSE,相比于持续产生小误差的模型,即使它们的平均绝对误差(MAE)相似。当大误差特别不受欢迎时,MSE很有用。
计算MSE
计算MSE的公式是:
均方误差=1n∑i=1n(yi−y^i)2\text{均方误差} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2均方误差=n1i=1∑n(yi−y^i)2
让我们拆解这个公式:
nnn 表示评估集(例如测试集)中的数据点数量。
yiy_iyi 是第 iii 个数据点的实际真实值。
y^i\hat{y}_iy^i(读作“y-hat”)是您的回归模型对第 iii 个数据点预测的值。
(yi−y^i)(y_i - \hat{y}_i)(yi−y^i) 是第 iii 个数据点的预测误差(或残差)。
(yi−y^i)2(y_i - \hat{y}_i)^2(yi−y^i)2 是该数据点的平方误差。
∑i=1n\sum_{i=1}^{n}∑i=1n 表示您将所有 nnn 个数据点的这些平方误差求和。
1n\frac{1}{n}n1 表示您将总和除以数据点的数量以得到平均值。
计算示例
让我们继续我们的房价预测示例。我们有五栋房屋的实际价格和模型的预测价格:
房屋
实际价格 (yiy_iyi)
预测价格 (y^i\hat{y}_iy^i)
误差 (yi−y^iy_i - \hat{y}_iyi−y^i)
平方误差 ((yi−y^i)2(y_i - \hat{y}_i)^2(yi−y^i)2)
1
$200,000
$210,000
−10,000-10,000−10,000
100,000,000100,000,000100,000,000
2
$350,000
$340,000
10,00010,00010,000
100,000,000100,000,000100,000,000
3
$150,000
$165,000
−15,000-15,000−15,000
225,000,000225,000,000225,000,000
4
$500,000
$470,000
30,00030,00030,000
900,000,000900,000,000900,000,000
5
$280,000
$285,000
−5,000-5,000−5,000
25,000,00025,000,00025,000,000
平方误差之和:
1,350,000,0001,350,000,0001,350,000,000
为了计算MSE:
计算每次预测的误差:(yi−y^i)(y_i - \hat{y}_i)(yi−y^i)。
将每个误差平方:(yi−y^i)2(y_i - \hat{y}_i)^2(yi−y^i)2。
将所有平方误差求和:∑(yi−y^i)2=1,350,000,000\sum (y_i - \hat{y}_i)^2 = 1,350,000,000∑(yi−y^i)2=1,350,000,000。
除以预测数量 (n=5n=5n=5):
均方误差=1,350,000,0005=270,000,000\text{均方误差} = \frac{1,350,000,000}{5} = 270,000,000均方误差=51,350,000,000=270,000,000
该模型在此数据上的MSE是 270,000,000270,000,000270,000,000。
平方误差的可视化
平方过程明显突出了较大的误差。让我们看一下示例中的平方误差:
每栋房屋预测的平方误差。请注意,房屋4的30,000误差如何导致30,000误差如何导致30,000误差如何导致900,000,000的平方误差,与来自其他房屋的较小平方误差相比,这对总体平均值产生显著影响。
理解MSE
单位: 关于MSE的一个重要点是,其单位是原始目标变量单位的平方。如果您预测的房价单位是美元(),那么MSE的单位就是美元的平方(),那么MSE的单位就是美元的平方(),那么MSE的单位就是美元的平方($^2)。这使得原始MSE值在与MAE相比时,不太直观地直接根据原始问题的规模进行解释。对于我们的示例,270,000,000)。这使得原始MSE值在与MAE相比时,不太直观地直接根据原始问题的规模进行解释。对于我们的示例,270,000,000 )。这使得原始MSE值在与MAE相比时,不太直观地直接根据原始问题的规模进行解释。对于我们的示例,270,000,000\text{美元}^2$的MSE很难直接与典型的房价误差相关联。
尺度依赖性: 与MAE一样,MSE也依赖于尺度。其大小在很大程度上取决于目标变量的范围。1,000的MSE可能很大也可能很小,这取决于您的目标值通常在10左右还是1,000,000左右。
比较工具: MSE最适用于比较在相同数据上训练并预测相同目标变量的不同回归模型。较低的MSE值通常表示模型总体误差较小,特别是对具有大离群误差的模型进行了惩罚。
对离群值的敏感性: 由于平方运算,MSE对离群值非常敏感。一个与实际值偏差极大的预测可以大幅提高MSE。这种敏感性是否合宜取决于您的具体应用。如果大误差的成本或风险特别高,MSE的敏感性可能是有益的。如果离群值常见且可能是预期的噪音,MSE可能会扭曲典型模型表现的实际情况。
总之,MSE提供了一种衡量平均预测误差的方法,它对较大的偏差施加了强烈的惩罚。尽管其平方单位会使直接解释变得困难,但它是一个标准指标,在优化过程(如梯度下降 (gradient descent))中非常重要,并为我们接下来将讨论的指标——均方根误差(RMSE)——提供了支撑。
