06_在机器学习中,为什么使用均方误差而不使用绝对值误差

问题背景

为什么机器学习在解决回归问题的时候一般使用的是平方损失(均方损失)


问题分析

损失函数是衡量模型预测结果与真实结果之间的一种距离度量,可以计算出每一个样本预测值与其真实值之间的距离,全部加起来就得到了所谓的损失函数。而距离的度量是没有一个标准的范式的,那为什么机器学习在处理回归任务的时候更倾向于用均方误差呢?我们先来看一看求解普通回归任务时候的一个目标函数,若采用预测值与真实值之间的绝对值来度量距离,公式如下:
( ω , b ) = a r g m i n ( ω , b ) ∑ i = 1 m ∣ f ( x i ) − y i ∣ (\omega^, b) = arg min_{(\omega, b)}\sum_{i=1}^{m}\left|{f(x_i)-y_i}\right| (ω,b)=argmin(ω,b)i=1mf(xi)yi
若采用均方误差,公式如下:
( ω , b ) = a r g m i n ( ω , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 (\omega^, b) = arg min_{(\omega, b)}\sum_{i=1}^{m}({f(x_i)}-y_i)^2 (ω,b)=argmin(ω,b)i=1m(f(xi)yi)2 其中: f ( x i ) = ω x i + b f(x_i) = \omega x_i + b f(xi)=ωxi+b 即预测值, y i y_i yi 为真实值, m m m 为样本总数, ω \omega ω b b b 为要求解的参数。

原因总结

我们的目标是通过训练得出在这个训练集上面表现得最好的参数 w 和 b w和b wb,如何得到最好的 w 和 b w和b wb呢?我们可以通过求导,对 w 和 b w和b wb进行求导,并令其导数为0,当我们使用绝对值误差的时候,我们就会遇到两个问题:

  • 使用绝对值误差的时候,会出现0点不可导问题
  • 需要判断 f ( x i ) − y i f(x_i)-y_i f(xi)yi的正负号

另外的原因:

  • 均方误差对预测误差的强度进行了平方,这样可以放大误差中的大值,并以指数方式惩罚异常值,因而在处理离群值或异常值时更为鲁棒。
  • MSE 的梯度计算相比 MAE 更为简单和稳定

综上所述,MSE相较于MAE在绝大部分场景都是具有较大优势的,所以MSE在机器学习的各种任务中更受欢迎

测试用例

from sklearn.metrics import mean_squared_error, mean_absolute_error
import numpy as np

# Generate data
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0, 2, 8]

# Calculate MSE and MAE
mse = mean_squared_error(y_true, y_pred)
mae = mean_absolute_error(y_true, y_pred)

print("MSE: ", mse)
print("MAE: ", mae)

在实际的应用中,由于均方误差对于离群点更具鲁棒性,所以通常在数据中存在离群点的情况下,MSE 会比 MAE 更优秀,可以看到,对于真实标签为负数的情况,使用 MAE 的误差度量方法产生了一个较大的误差值(0.5),而使用 MSE 的误差度量方法产生了一个较小的误差值(0.375)。因此,MSE 在该测试用例中表现更优秀。

拓展

均方误差(MSE)作为损失函数的一个重要特点,即其基于高斯分布下的最大似然估计问题。


在回归问题中,我们的目标是预测一些连续型变量,使其尽可能地接近真实值。在这个过程中,模型的预测与真实标签之间会产生一些误差,我们需要度量这个误差的程度,并利用这个度量来优化模型的预测。

均方误差是一个常见的误差度量方法,它度量的是预测值与真实值之间的差异,并且将这个差异平方后求取平均值。均方误差的理论基础是假设误差服从高斯分布。也就是说,我们假设预测值的误差服从正态分布,并且使用均方误差最小化误差,可以从概率最大化的角度来认为我们假定预测值的误差是正常的,这是一个典型的高斯分布下的最大似然估计问题。

简单来说,均方误差的理论基础是对误差的统计分布进行假设,并基于最大似然原则来确定误差分布的参数。这使得均方误差在许多回归问题中都能够提供准确的误差度量,并能够用作模型的损失函数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在机器学习误差率度量是用来衡量模型预测结果与真实结果之间的差异的方法。常用的误差率度量包括: 1. 准确率(Accuracy):用于衡量模型预测结果与真实结果相同的样本数占总样本数的比例。 2. 精确率(Precision):用于衡量模型预测为正例的样本,真正为正例的样本所占的比例。 3. 召回率(Recall):用于衡量真正为正例的样本,被模型预测为正例的样本所占的比例。 4. F1值(F1-Score):综合考虑精确率和召回率,用于综合衡量模型的性能。 这些误差率度量方法在分类任务得到了广泛的应用。通过衡量模型的准确率、精确率、召回率等指标,我们可以评估模型的性能,选择最优的模型,并进行模型的优化和调整。 ### 回答2: 机器学习误差率度量是评估机器学习模型预测与真实结果之间的差异的指标。通常,我们希望机器学习模型的预测结果与真实结果尽可能接近,因此误差率度量能够帮助我们判断模型的预测能力和准确性。 在机器学习,常见的误差率度量包括均方误差(MSE)、平均绝对误差(MAE)、平均绝对百分比误差(MAPE)等。 均方误差是最常用的一种误差率度量方法,它计算预测值与真实值之差的平方的平均值。均方误差越小,表示模型预测的准确度越高。 平均绝对误差是另一种常用的误差率度量方法,它计算预测值与真实值之差的绝对值的平均值。平均绝对误差越小,模型的预测能力越好。 平均绝对百分比误差是在计算平均绝对误差的基础上,除以真实值的绝对值来表示误差的百分比。这种度量方法常用于需要考虑到数据的相对大小的场景。 除了上述常见的误差率度量方法,根据不同的应用领域和问题特点,还可以使用其他度量方法,如均方根误差(RMSE)、R Squared(R²)等。 总之,误差率度量是机器学习用于衡量模型预测结果与真实结果之间差异的重要指标,帮助我们评估模型的准确性和预测能力,并选择合适的模型来解决实际问题。 ### 回答3: 在机器学习误差率度量是用来评估机器学习模型预测结果与真实结果之间的差异程度。它主要用于度量模型对于给定数据集的准确性和可靠性。 常见的误差率度量包括:分类准确率、错误率、精确率、召回率、F1值等。 分类准确率是最常用的度量指标,它表示预测正确的样本数与总样本数之比,通常以百分比表示。该指标越高,模型的预测效果越好。 错误率是分类准确率的补数,表示预测错误的样本数与总样本数之比。该指标越低,模型的效果越好。 精确率是衡量预测为正例的样本真正为正例的比例,其计算公式为真正例数除以预测为正例的样本数。该指标越高,模型对于正例的预测能力越强。 召回率是衡量模型将所有真正例预测为正例的能力,其计算公式为真正例数除以真正例数加上假负例数。该指标越高,模型对于真正例的识别能力越强。 F1值是精确率和召回率的调和平均值,它能综合考虑模型的准确性和召回性能。一般而言,F1值越高,模型的整体性能越好。 除了以上常用的度量指标,还有一些其他的误差率度量方式,如均方误差(MSE)在回归问题用于评估模型的预测误差大小,对于不同的机器学习任务,选择合适的误差率度量方法是十分重要的,以便准确评估模型的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值