机器学习回归问题常用的损失函数和指标

损失:MAE,MSE,RMSE,Huber Loss,Log_Cosh

平均绝对误差 (Mean Absolute Error, MAE)

平均绝对误差(Mean Absolute Error,MAE)是一种用于衡量预测模型或估算值与实际观测值之间误差的常用指标。它是回归分析中常用的性能度量之一,用于评估模型的准确性。MAE的计算方法如下:

  1. 首先,计算每个数据点的预测值与实际观测值之间的绝对误差,也就是它们之间的差的绝对值。这个绝对误差可以表示为 |预测值 - 实际观测值|。

  2. 接下来,将所有数据点的绝对误差相加,然后除以数据点的总数,得到平均绝对误差。

数学表达式如下:

MAE = Σ(|预测值 - 实际观测值|) / 总数据点数

MAE的优缺点如下:

优点:

  1. 直观性:MAE易于理解,因为它以与原始数据相同的单位度量误差。这使得它对于解释和可视化模型性能非常有用。

  2. 鲁棒性:MAE对异常值不太敏感,因为它使用绝对误差,而不是平方误差。这使得它在存在离群值或异常值的数据集上表现良好。

  3. 可解释性:MAE的结果直接表示平均误差的大小,有助于解释模型的性能。

缺点:

  1. 没有考虑误差的权重:MAE对所有误差一视同仁,不考虑每个数据点的重要性。在某些情况下,一些数据点可能比其他数据点更重要,但MAE无法区分它们。

  2. 对离群值不敏感:虽然这也可以被看作是一个优点,但在某些情况下,对于某些问题,我们可能希望模型对离群值更加敏感,而MAE不会达到这个目标。

  3. 非连续可微性:MAE在数学上不是连续可微的,这使得在某些优化算法中使用它可能更加困难。

总之,MAE是一个常用的回归性能度量,特别适用于处理离群值或需要对模型性能进行直观解释的情况。但在某些情况下,可能需要考虑其他性能度量,以便更好地满足特定问题的需求。

均方误差 (Mean Squared Error, MSE)

均方误差(Mean Squared Error,简称MSE)是一种常用的用来衡量预测模型性能的统计指标,特别适用于回归问题。它通过计算观测值与模型预测值之间的平方差的平均值来度量模型的预测误差。以下是MSE的计算方式和其优缺点:

计算方式:

  1. 首先,对于每个观测值和对应的模型预测值,计算它们的差值(残差):残差=观测值−模型预测值残差=观测值−模型预测值
  2. 然后,将所有残差的平方值相加:
  3. 最后,将平方和除以样本数量 

MSE的值越小,表示模型的预测与观测值之间的差异越小,模型性能越好。

优点:

  1. 易于计算:MSE的计算非常简单,只需要计算残差平方和并取平均。
  2. 凸显大误差:MSE会对大误差值给予较高的惩罚,因为误差被平方,这有助于模型更关注那些重要的、较大的误差。

缺点:

  1. 对离群值敏感:MSE对离群值(异常值)非常敏感,因为它将误差值平方,离群值的平方误差可能会对MSE的值产生较大的影响。
  2. 不是绝对误差度量:MSE给予所有误差相同的权重,这可能不适用于某些情况,例如,在一些应用中,较大误差可能比较小误差更严重。
  3. 没有单位:MSE的单位是观测值的单位的平方,这在某些情况下可能难以解释。

在使用MSE时,需要谨慎处理离群值,并考虑是否有更适合问题的评估指标,例如平均绝对误差(Mean Absolute Error,MAE)或根均方误差(Root Mean Squared Error,RMSE),这些指标可以在一定程度上缓解MSE的一些缺点。

均方根误差(Root Mean Squared Error,RMSE)

均方根误差(Root Mean Squared Error,RMSE)是一种常用于衡量预测模型性能的统计指标,特别是在回归问题中。它用于度量预测值与实际观测值之间的差异,通常用于评估模型的精度和准确性。RMSE的计算方法如下:

  1. 计算每个样本的预测值和实际观测值之间的差异(残差)。
  2. 对每个残差值取平方。
  3. 计算平方差的平均值。
  4. 取平均值的平方根,得到RMSE。

具体的计算公式如下:

RMSE = √(Σ(预测值 - 实际观测值)^2 / n)

其中,Σ 表示求和运算,n 表示样本数量。

RMSE的优点和缺点如下:

优点:

  1. 敏感度: RMSE对预测误差的敏感度很高,较大的误差会在RMSE中得到较大的权重,这使得它在评估模型的准确性时能够捕捉到较大的错误。

  2. 可解释性: RMSE的计算方法直观且容易理解,因为它是对误差的平均平方根,通常以与实际观测值相同的单位表示。

  3. 常用性: RMSE在实际应用中广泛使用,因此易于与其他人共享模型性能的信息,使其成为一个通用的评估指标。

缺点:

  1. 对异常值敏感: RMSE对异常值非常敏感,如果数据中存在离群值(极端值),它可能会对模型的评估产生较大的偏差。这是因为在计算RMSE时,差异的平方值会被显著放大。

  2. 不考虑误差的分布: RMSE只考虑误差的平方和,而不关心误差的分布。这可能导致在某些情况下,RMSE不能很好地反映模型的性能,特别是当误差不符合正态分布时。

  3. 权重不平衡: RMSE对所有样本的误差平等看待,不考虑不同样本的重要性。在某些应用中,一些样本可能比其他样本更重要,但RMSE不能反映这种差异。

总之,RMSE是一种常见且有用的模型性能评估指标,特别适用于回归问题。然而,在使用RMSE时,需要注意其对异常值的敏感性以及对误差分布和样本权重的考虑。在某些情况下,可能需要结合其他评估指标来更全面地评估模型性能。

Huber Loss

Huber Loss是一种用于回归问题的损失函数,它在一定程度上结合了均方误差(Mean Squared Error,MSE)和平均绝对误差(Mean Absolute Error,MAE)的特性。Huber Loss的计算方法如下:

给定实际值(真实标签)为 y,模型预测值为 ŷ,Huber Loss的计算方式如下:

  1. 定义一个超参数 delta(通常是一个正数),该参数控制了Huber Loss在何时切换为平方损失和绝对损失之间的平衡。

  2. 如果 |y - ŷ| <= delta,那么Huber Loss就等于(1/2) * (y - ŷ)^2。

  3. 如果 |y - ŷ| > delta,那么Huber Loss就等于 delta * |y - ŷ| - (1/2) * delta^2。

优点:

  1. 鲁棒性:与均方误差(MSE)相比,Huber Loss对异常值(outliers)更加鲁棒。当存在异常值时,均方误差可能会导致较大的损失,而Huber Loss对这些异常值的损失相对较小,因为它是线性的。

  2. 平衡性:Huber Loss在损失计算中平衡了MSE和MAE的特性,这使得它在多种情况下都表现良好,既考虑了预测值的精确度,又考虑了对异常值的鲁棒性。

  3. 可调参数:通过调整超参数 delta,可以控制损失函数在切换点处的平滑度,从而灵活地适应不同的数据分布和建模需求。

缺点:

  1. 需要调整超参数:Huber Loss的性能依赖于超参数 delta 的选择,这需要一些经验或者交叉验证来确定合适的值。

  2. 不是全局最优:Huber Loss在某些情况下可能不是全局最优的损失函数选择。在特定问题和数据分布下,其他损失函数如MSE或MAE可能更为合适。

总的来说,Huber Loss是一种在回归问题中常用的损失函数,特别适用于数据中存在异常值的情况。通过适当选择超参数 delta,可以平衡精确性和鲁棒性,从而提高模型的性能。然而,在使用之前需要仔细考虑问题的特性以及超参数的选择。

Log-Cosh损失函数

Log-Cosh损失函数是一种常用于回归问题的损失函数,特别适用于那些可能存在异常值(outliers)的情况。它的计算方法如下:

  1. 首先,对于每个样本,计算预测值和实际值之间的差异,即残差(residual):r

  2. 然后,计算每个样本的Log-Cosh损失:log(cosh(r))

  3. 最后,将所有样本的Log-Cosh损失求平均得到最终的损失值:

Log-Cosh损失函数的优点和缺点如下:

优点:

  1. 对异常值鲁棒性强:与均方误差(MSE)和平均绝对误差(MAE)不同,Log-Cosh损失对于异常值的敏感性较低,这使得它在存在噪声或离群点的数据中更稳健。

  2. 光滑性:Log-Cosh损失是连续可导的,这对于训练深度神经网络等需要梯度信息的模型非常有用。相比之下,MAE不是处处可导的,而MSE在残差较大时可能会导致梯度爆炸的问题。

  3. 凸性:Log-Cosh损失是凸函数,这意味着优化问题通常是全局收敛的,不容易陷入局部最小值。

缺点:

  1. 计算相对复杂:相对于MSE和MAE,Log-Cosh的计算相对复杂,因为它涉及到双曲余弦函数的计算,这可能会导致训练速度较慢。然而,现代的深度学习框架通常能够高效地处理这个问题。

  2. 对于特定问题可能不是最佳选择:Log-Cosh损失在某些问题上可能不如其他损失函数表现好,特别是对于分类问题或其他类型的问题。在实际应用中,选择合适的损失函数通常需要根据问题的性质和数据的特点来决定。

总之,Log-Cosh损失函数是一种具有鲁棒性和平滑性的损失函数,特别适用于回归问题,尤其是在存在异常值的情况下。然而,它并不是适用于所有情况的通用损失函数,需要根据具体问题来选择。

指标:绝对系数R^2,MAPE,RMSE,MAE,RMSLE

绝对系数R^2(R-squared)

R-squared(R^2)是用于评估回归模型拟合度的统计指标。它衡量了因变量(被解释变量)的变异性有多少能够被独立变量(解释变量)解释。R-squared的计算方法和其优缺点如下:

计算方法: R-squared的计算方法涉及以下几个步骤:

  1. 计算观测值与回归线(拟合线)之间的差异,这些差异通常被称为残差(residuals)。
  2. 计算总变异性,也就是因变量的方差(Total Sum of Squares,TSS):TSS = Σ(yᵢ - ȳ)²,其中yᵢ是每个观测值,ȳ是因变量的均值。
  3. 计算残差的方差(Residual Sum of Squares,RSS):RSS = Σ(yᵢ - ŷᵢ)²,其中ŷᵢ是回归模型对应的预测值。
  4. 计算R-squared:R² = 1 - (RSS / TSS)

R-squared的取值范围在0到1之间,较高的R-squared表示模型能够更好地解释因变量的变异性。

优点:

  1. 直观易懂:R-squared是一个常用的统计指标,它可以直观地帮助人们了解模型对数据的拟合程度。较高的R-squared值通常表示模型对数据的拟合较好,较低的值则表示拟合不佳。

  2. 比较不同模型:R-squared可以用来比较不同模型的拟合度,帮助选择最适合数据的模型。在多个模型中选择具有较高R-squared的模型可能更适合用于预测或解释。

缺点:

  1. 仅限线性关系:R-squared对于线性关系的模型表现良好,但对于非线性关系的模型可能不适用。如果因变量和解释变量之间的关系不是线性的,较高的R-squared值可能会误导分析人员认为模型效果好,尽管模型并不是真正拟合了数据。

  2. 忽略了重要性:R-squared只关注因变量总变异性中能够被解释的部分,而忽略了哪些解释变量对模型的贡献更大。因此,一个模型的R-squared可能很高,但它的解释能力可能仍然不足。

  3. 过度拟合:高R-squared值不一定意味着模型是最优的。过度拟合(overfitting)的模型可能具有很高的R-squared值,但在新数据上的泛化性能可能很差。

总之,R-squared是一个有用的工具,但在使用它来评估模型时,需要谨慎考虑其优点和缺点,并结合其他评估指标来全面评估模型的性能。

r-squared计算方法:【小萌五分钟】机器学习 | 模型的评估: 决定系数 R-squared (R方)_哔哩哔哩_bilibili

平均绝对百分比误差 (Mean Absolute Percentage Error, MAPE)

平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)是一种常用于衡量预测模型精度的指标,特别是在时间序列分析和供应链管理中经常使用。它用于衡量预测值与实际观测值之间的差异,以百分比形式表示误差。MAPE的计算方法如下:

  1. 对于每个数据点i,计算绝对百分比误差(APE): APE_i = |(实际值 - 预测值)| / |实际值| * 100%

  2. 计算所有数据点的APE的平均值: MAPE = (Σ APE_i) / n

其中,n是数据点的总数。

MAPE的优点和缺点如下:

优点:

  1. 直观性强: MAPE以百分比形式表示误差,易于理解和解释。这使得它在与非专业人员分享模型性能时非常有用。

  2. 平等对待不同规模的数据: MAPE考虑了实际值的规模,因此不会受到量纲的影响。这意味着它对于具有不同幅度的数据集也能够提供有意义的比较。

  3. 适用于连续性数据: MAPE适用于连续性变量的预测,如销售额、温度等。

缺点:

  1. 敏感性: MAPE对极端值(异常值)非常敏感,因为它的计算中包含了绝对值。一个极端值可能会对整体MAPE产生较大的影响。

  2. 不适用于包含零值的数据: 如果实际值中包含零值,那么MAPE的计算将会出现问题,因为在分母中包含了零,会导致无法计算。

  3. 不适用于负值: 如果实际值或预测值中存在负数,MAPE也无法应用,因为百分比误差不能为负数。

  4. 不对称性: MAPE不对过低的预测值和过高的预测值给予相同权重,这可能导致对于某些应用不合适。在某些情况下,模型对过高或过低的误差可能有不同的成本或风险。

  5. 不具备连续可微性: MAPE在某些优化问题中可能不适用,因为它不具备连续可微性,这可能使得一些优化算法难以处理。

在使用MAPE时,需要谨慎考虑其优缺点,并根据具体的应用场景和数据特点来选择适当的性能指标。如果数据集中存在零值、负值或者异常值,或者对过高和过低的误差有不同的关注程度,那么可能需要考虑其他评估指标来综合评估模型性能。

平均绝对百分比误差会被用作损失函数吗

平均绝对百分比误差(MAPE)通常不会被用作损失函数,尤其是在深度学习和机器学习的训练过程中。这是因为MAPE具有一些不适合作为损失函数的特性,包括不连续可微性和对异常值敏感等问题。

在深度学习和机器学习中,通常使用连续可微的损失函数来训练模型,因为这些损失函数可以通过梯度下降等优化算法进行优化。连续可微性是这些算法有效工作的前提之一。而MAPE不具备连续可微性,因为它包含了绝对值操作,无法直接在梯度下降等优化算法中使用。

常用于回归问题的损失函数包括均方误差(MSE)、平均绝对误差(MAE)和 Huber损失等,它们都是连续可微的,适合于模型的训练和优化。这些损失函数可以用于衡量模型的性能,并用于模型的参数优化过程。

尽管MAPE通常不被用作损失函数,但它仍然可以作为一个用于评估模型性能的指标,在训练完成后,可以使用MAPE来衡量模型的预测精度。在实际应用中,可以将模型的输出与实际值计算MAPE,并将其作为模型性能的一种度量方式,但不会直接用于训练过程中。

不适用于负值的原因:

APE_i = |(实际值 - 预测值)| / |实际值| * 100%

  1. 分母可能为零: 如果实际值为负且等于零,那么分母就变成了零,而分母不能为零,这将导致计算无法进行。

  2. 分母变成了正数: 即使实际值为负数,分母的绝对值操作会将其变成正数,这可能导致MAPE结果不符合实际情况,因为它无法反映负数值的方向。

均方根误差 (Root Mean Squared Error, RMSE)

上文以经解释过了

平均绝对误差 (Mean Absolute Error, MAE)

上文以经解释过了

对数均方根误差(Root Mean Squared Logarithmic Error,RMSLE)

对数均方根误差(Root Mean Squared Logarithmic Error,RMSLE)是一种用于评估回归模型性能的指标,特别适用于处理具有幅度差异较大的数据集。RMSLE常用于竞赛和实际项目中,尤其是涉及到正数目标变量的情况。以下是RMSLE的计算方法和其优缺点:

计算方法

https://blog.csdn.net/m0_57236802/article/details/130210658

RMSLE的优缺点:

优点

  1. 对数变换:RMSLE对数据进行了对数变换,这有助于减小异常值的影响,使得模型对幅度差异较大的数据更加稳健。这在实际应用中很有用,因为某些情况下数据的幅度可以相差很大。

  2. 数学性质:RMSLE是一个连续可导的函数,因此可以用于梯度下降等优化算法,使其在模型训练中很有用。

缺点

  1. 不适用于包含负值的数据:RMSLE要求预测值和实际值都是正数,因此不适用于包含负数的数据集。

  2. 对数变换的解释性:RMSLE使用对数变换,这会降低指标的直观解释性。这意味着在解释模型性能时,需要说明对数转换的影响,不如均方根误差(RMSE)那么直观。

  3. 对异常值敏感:虽然RMSLE可以减小异常值的影响,但仍然对异常值相对敏感,因为对数变换后,大的异常值仍然可能对指标产生较大影响。

总的来说,RMSLE是一种有用的回归性能评估指标,特别适用于处理幅度差异较大的数据,但需要注意其不适用于包含负值的情况,并且在解释性方面相对较弱。在选择评估指标时,需要根据具体的问题和数据集特点来确定是否使用RMSLE以及是否结合其他指标进行综合评估。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值