目录
1 MAE
2 MSE
3 MAPE
4 Quantile Loss分位数损失
回归损失函数也可以做为评价指标使用,但是有没有想过数据分布与损失函数之间的关系呢!
使用特定损失函数的前提是我们对标签的分布进行了某种假设,在这种假设的前提下通过极大似然法推出所有样本构成的极大似然公式,然后再使用凸优化的方法比如常见的梯度下降法进行求解。
我曾经遇到两个问题,类似正太分布与非正太分布损失函数。
比如下面: 0的值异常多。可以采用非正太损失函数,使用tweedie loss、possion loss等损失函数替代mse。这些lgb、xgb都可调参数。
1 MAE
平均绝对误差(L1 loss):Mean Absolute Error, MAE。指预测值 和真实值 之间距离的平均值,其公式如下:
MAE是目标值和预测值之差的绝对值之和,可以用来衡量预测值和真实值的距离。但是它不能给出,模型的预测值是比真实值小还是大。
综合来看,MAE适合对异常值敏感的数据集,或者在对模型的预测误差大小更为关注的情况下使用。但在优化过程和梯度信息方面存在一些不足,需要根据具体情况选择合适的损失函数。
2 MSE
均方根误差(L2 loss)Mean Square Error,MSE是模型预测值 与真实样本之间差值的平方,其公式如下:
- 直观性好: MAE直接衡量了预测值与真实值之间的平均绝对差异,易于理解和解释。
- 不受量纲影响: 由于是绝对值求和,MAE不受量纲的影响,因此可以直接比较不同尺度下的模型性能。
- 不可微性: MAE在零点处不可微,这使得优化过程变得困难。梯度下降等需要可微的优化算法无法直接应用于MAE。
- 梯度信息不明显: 由于MAE的梯度在大部分区域都是常数,因此相对于MSE(均方误差)等损失函数,梯度信息不够明显,可能导致训练过程收敛速度较慢。
- 对离群值的处理不足: 尽管MAE对离群值不敏感,但它也没有专门考虑到离群值的影响,可能导致对离群值的处理不足。
MSE函数曲线光滑、连续,处处可导,随着误差的减小,梯度也在减小,有利于收敛,当真实值和预测值的差值大于1时会放大误差,即给予较大的惩罚,而当差值小于1时会缩小误差,即给予较小的惩罚,对离群点比较敏感,受其影响较大。
MSE计算简便,但MAE对异常点有更好的鲁棒性:当数据中存在异常点时,用MSE/RMSE计算损失的模型会以牺牲了其他样本的误差为代价,朝着减小异常点误差的方向更新。然而这就会降低模型的整体性能。
3 MAPE
缺点:
综上所述,MAPE 损失函数具有直观性和对异常值的鲁棒性等优点,但也存在一些缺点,如对离散值敏感和不可导性等问题。在选择损失函数时,需要根据具体问题的特点和需求来进行权衡和选择。
- 分母为0的问题: 当实际值 ( A_t ) 为0时,MAPE 的分母为0,可能导致无法计算或者出现无穷大的情况。
- 对离散值敏感: MAPE 对于实际值接近或等于0的情况下,可能会导致误差放大,不太适用于这种情况。
- 不可导性: MAPE 是一个非光滑的损失函数,不易于在优化算法中使用,特别是对于梯度下降等基于梯度的优化方法。
- 分母为0的问题: 当实际值 ( A_t ) 为0时,MAPE 的分母为0,可能导致无法计算或者出现无穷大的情况。
- 对离散值敏感: MAPE 对于实际值接近或等于0的情况下,可能会导致误差放大,不太适用于这种情况。
- 不可导性: MAPE 是一个非光滑的损失函数,不易于在优化算法中使用,特别是对于梯度下降等基于梯度的优化方法。
不可倒部分:
4 Quantile Loss分位数损失
分位数值的选择基于在实际中需要误差如何发挥作用 即在过程中误差为正时发挥更多作用还是在误差为负时发挥更大作用。
当我们需要对区间预测而不单是点预测时 分位数损失函数可以发挥很大作用。
ref:https://blog.csdn.net/Next_SummerAgain/article/details/135371892