MSE 全称是 Mean Squared Error,中文标准名称叫做均方误差,它是机器学习回归任务、统计学、信号处理领域最基础也最常用的误差评估指标,核心作用就是量化模型预测数值和真实数值之间的偏差大小,简单来说就是把每一组预测值和真实值的差值做平方,再计算所有样本的平均值,MSE 的数值越小,代表模型预测结果和真实值越接近,模型拟合效果越好,这个指标广泛用于线性回归预测模型训练,误差分析,模型对比筛选,信号降噪效果评估,工业测量精度校验等场景,需要注意 MSE 是带平方单位的指标,会放大较大的预测误差,对异常值非常敏感,这也是它和 MAE 平均绝对误差最核心的差别,很多初学者容易混淆 MSE 和 RMSE,RMSE 是 MSE 开平方根之后得到的均方根误差,单位和原始数据保持一致。
MSE 数学定义与计算公式
MSE 的计算逻辑可以拆成三步,首先拿到全部样本的真实标签 y,然后拿到模型输出的预测值 y 帽,逐样本计算两者差值,也就是预测误差,接着对每一个误差做平方运算,最后把所有平方误差求和,再除以样本总数量 n,就得到 MSE。
公式文字表达 MSE 等于所有样本 预测值减去真实值 的平方之和 除以样本数量 n
重点理解平方这一步的作用,第一可以消除正负误差互相抵消的问题,如果直接求误差平均值,有的预测偏高有的预测偏低,正负会抵消,最后平均值接近零,看不出真实误差水平,平方之后全部变成非负数,不会抵消。第二平方会惩罚大误差,预测偏差越大,平方之后数值增长越快,也就是说 MSE 会更看重那些预测严重跑偏的样本,对离群异常点非常敏感。
MSE 的特点与优缺点
优点
第一计算简单,推导方便,数学性质平滑可导,非常适合作为神经网络线性回归模型的损失函数,梯度下降优化的时候可以直接求导更新参数。
第二是行业通用标准指标,跨论文跨项目都可以直接对比,大家都认可这套计算标准。
第三可以很好反映整体预测波动情况,数值稳定,适合大批量样本评估。
缺点
第一对异常值敏感,如果数据集里面存在个别极端离群点,这个点的误差平方会变得特别大,直接拉高整体 MSE,让模型评估结果失真。
第二单位是原始数据单位的平方,比如原始数据单位是元,MSE 单位就是元的平方,直观理解起来不够方便,所以很多场景会额外搭配 RMSE 一起使用。
第三 MSE 只衡量误差大小,无法区分是系统性偏差还是随机波动,不能单独判断模型是否存在固定偏置。
MSE 和同类误差指标对比表格
| 指标 | 中文名称 | 计算方式 | 是否放大大误差 | 单位 |
|---|---|---|---|---|
| MSE | 均方误差 | 误差平方求平均 | 是 | 原始单位平方 |
| RMSE | 均方根误差 | MSE 开平方根 | 是 | 和原始数据单位一致 |
| MAE | 平均绝对误差 | 误差绝对值求平均 | 否 | 和原始数据单位一致 |
| SSE | 误差平方和 | 误差平方求和不除以样本数 | 是 | 原始单位平方 |
MSE 实际使用步骤
第一步准备数据集,拆分训练集测试集,训练集用来训练回归模型,测试集用来计算 MSE 做效果评估。
第二步训练回归模型,比如线性回归,决策树回归,神经网络回归,得到模型预测输出。
第三步取出测试集全部样本,逐个计算预测值与真实值的差值,对差值平方。
第四步把全部平方误差累加,除以测试样本总数,得到 MSE 数值。
第五步横向对比多个模型的 MSE,MSE 更低的模型代表预测精度更高,同时检查数据是否存在异常离群点,如果异常点影响过大,可以考虑替换成 MAE 作为评估指标。
补充说明,在深度学习训练的时候,MSE 经常直接作为损失函数,也就是损失 MSE,模型训练的目标就是不断迭代参数,让这个 MSE 损失持续下降,直到收敛。
不同领域 MSE 的含义补充
统计学领域,MSE 还可以分解成方差加上偏差的平方,这个就是经典的偏差方差分解,用来分析模型泛化误差来源,判断模型是欠拟合还是过拟合。
信号处理领域,MSE 用来衡量原始信号和重建信号之间的失真程度,图像压缩降噪算法,都会用 MSE 评价还原之后图像和原图的失真大小。
工程测量领域,MSE 用来评估传感器测量值和标准真值之间的综合误差,判断测量设备精度等级。
总结
MSE 表示均方误差,是回归任务经典评估指标,通过误差平方求平均衡量预测值和真实值偏差,优点是可导适合做损失函数,缺点是对异常值敏感单位是平方单位,使用的时候要结合业务场景,经常和 RMSE MAE 搭配对比,不要只单独依靠 MSE 判断模型好坏,同时要理解偏差方差分解的原理,深入分析误差来源。
【常见问题】
问题 1 mse 表示什么,它和 rmse 有什么区别
回答 1 mse 表示均方误差,是预测误差平方之后的平均值,rmse 是把 mse 做开平方运算得到的均方根误差,核心差别就是 mse 单位是原始数据单位的平方,rmse 单位和原始数据保持一致,两者都保留了平方误差放大异常值的特性,业务报告里面经常优先展示 rmse,模型训练损失函数经常直接使用 mse。
问题 2 mse 表示均方误差,为什么它对异常值很敏感
回答 2 mse 表示均方误差,计算的时候会对预测误差做平方处理,极端异常样本的误差本身数值很大,平方之后数值会成倍放大,这个超大的平方误差会拉高整体平均值,最终让 mse 数值明显变大,也就是异常点会主导 mse 结果,如果业务场景异常值不能被放大惩罚,就不适合只用 mse,推荐改用 mae 平均绝对误差。
问题 3 mse 表示均方误差,mse 数值越小是不是模型就一定最好
回答 3 mse 表示均方误差,mse 数值越小代表测试集预测误差越小,但不能直接判定模型一定最好,有可能模型出现过拟合,训练集 mse 很低但是新数据泛化 mse 很差,同时还要结合偏差方差,业务需求,模型复杂度综合判断,不能只看单一 mse 指标下结论。
问题 4 mse 表示均方误差,可以直接作为神经网络回归任务的损失函数吗
回答 4 mse 表示均方误差,可以直接作为神经网络回归任务的损失函数,也就是 MSE Loss,因为 MSE 函数是连续平滑可导的,支持梯度下降反向传播更新权重,是回归神经网络最常用的损失函数之一,但是如果数据集离群点很多,使用 mse 作为损失函数训练出来的模型容易被异常点干扰。
【免责申明】
本文属于机器学习统计学知识科普,讲解 mse 均方误差的定义计算与使用方法,不构成任何建模投资或者工程决策建议,指标计算需要结合实际业务数据集,不同场景指标选择存在差异,使用者需要自行验证计算逻辑,独立承担相关使用风险。


