深入解析LightGBM中的各种回归损失函数

探讨LightGBM中的回归损失函数,包括L1、L2、Huber等,适应不同的预测需求。

原文标题:Kaggle知识点:LightGBM 回归损失

原文作者:数据派THU

冷月清谈:

本文介绍了LightGBM中的多种回归损失函数,包括L2、L1、Huber、Fair Loss、Poisson Regression、Quantile Regression、MAPE Loss、Gamma Regression和Tweedie Regression。L2损失(均方误差)适用于对大误差敏感的场景,而L1损失(平均绝对误差)则对离群值不敏感。Huber损失结合了L1和L2的优点,适用于存在离群值的回归问题。Fair损失旨在减少对离群值的敏感性。Poisson回归用于建模计数数据,Quantile回归提供对条件分布的全面理解。MAPE适用于衡量时间序列预测的准确性,而Gamma和Tweedie回归则应用于特定的分布情况,如正值和混合类型的数据。通过对这些损失函数的理解,可以更好地选择适合具体应用场景的模型。

怜星夜思:

1、L1损失和L2损失各自的优缺点是什么?
2、在什么场景下选择Huber损失?
3、在处理计数数据时,Poisson回归的优缺点是什么?

原文内容

图片
来源:Coggle数据科学

本文约1500字,建议阅读5分钟

本文介绍了LightGBM 回归损失。


回归损失:L2


L2 loss称为欧几里德损失(Euclidean loss)或平方误差(Squared error),用于衡量预测值与真实值之间的差异。对于回归问题,L2 loss 是一种常见的损失函数。其公式如下:



L2 loss 的计算过程是将每个样本的预测值与真实值之差的平方求和,然后取平均值。这种平方的操作有助于放大较大的误差,因此对大误差更加敏感。

回归损失:L1


L1 Loss(也称为Mean Absolute Error,MAE)是一种用于衡量预测值和真实值之间差异的损失函数。它的公式如下:


L1 Loss对离群值(outliers)不敏感,因为它使用的是绝对差值,而不是平方差值。在一些需要对异常值进行鲁棒处理的任务中,L1 Loss是一个不错的选择。

回归损失:Huber Loss


Huber Loss是一种用于回归问题的损失函数,它对异常值(outliers)具有一定的鲁棒性,相比于均方误差(MSE),在存在离群值时更不容易受到影响。Huber Loss的公式如下:


其中,  是真实值,  是模型的预测值,  是一个阈值参数,用于控制Huber Loss在平方误差和绝对误差之间的平衡。当真实值和预测值之差的绝对值小于等于   时,采用平方误差;否则,采用线性误差。

Huber Loss适用于回归问题,尤其是在存在离群值(异常值)的情况下。由于它在绝对误差较小时采用平方误差,而在绝对误差较大时采用线性误差,因此具有一定的鲁棒性,不容易受到离群值的影响。

回归损失:Fair loss


Fair loss是一种用于训练模型的损失函数,其目的是通过惩罚预测误差的绝对值来降低对离群值的敏感性。


Fair loss通常在需要对模型对离群值更为鲁棒的情况下使用,因为它对大误差的惩罚较小,从而减轻了对离群值的过度敏感性。

回归损失:Poisson Regression


Poisson Regression是一种用于建模计数数据的回归分析方法,它基于泊松分布
如果   是一个包含 个独立变量的向量,Poisson回归模型的公式为:



Poisson回归适用于响应变量是计数数据的情况,比如客户到达次数、事故发生次数等。

回归损失:Quantile regression


Quantile regression(分位数回归)是一种在统计学和计量经济学中使用的回归分析方法。最小二乘法通过估计在预测变量的各个取值下响应变量的条件均值,而分位数回归则通过估计响应变量的条件中位数(或其他分位数)来进行拓展。分位数回归是在线性回归条件不满足时的一种拓展应用。

给定一个简单的线性回归模型:



分位数回归的一般形式是:



其中,  是   的第   分位数,  和   是分位数回归的系数,  是误差项。

分位数回归对异常值的影响较小,因为它关注的是分位数而不是均值。这使得它在处理数据中存在离群值时更为鲁棒。当数据的分布呈现偏斜时,分位数回归可以提供对不同分位数的条件分布的更全面理解,而不仅仅是均值。

回归损失:MAPE Loss


MAPE(平均绝对百分比误差),也称为平均绝对百分比偏差(MAPD),是用来衡量统计学中预测方法的预测准确性的一种方法。它通常通过以下公式表示准确性,其中:



其中,  是实际值,  是预测值。它们的差异除以实际值 

MAPE常用于衡量时间序列预测模型的准确性,特别是在业务和经济领域中。它对于各种规模的数据集和不同量纲的变量都是有效的。

回归损失:Gamma regression


Gamma回归是一种统计模型,用于处理目标变量服从Gamma分布的情况。假设我们有一个随机变量  ,其服从Gamma分布,概率密度函数为:



这里,  是形状参数(shape parameter),  是尺度参数(scale parameter),  是Gamma函数。

Gamma回归适用于目标变量为正值且服从Gamma分布的情况,可用于估计因变量和自变量之间的关系,并进行预测和推断。

回归损失:Tweedie regression


Tweedie分布是指数分布模型的一种特殊情况,适用于一些特殊的场景,例如在保险领域建模总体损失时。此外,Tweedie回归也可以用于那些可能服从Tweedie分布的目标变量的建模,因为它涵盖了一系列不同的分布形式,从连续到离散的各种情况。

Tweedie分布的方差通常由方差函数(dispersion function)表示,即  ,其中   是 Tweedie 分布的指数,通常取值在   之间。

Tweedie回归适用于那些目标变量可能服从Tweedie分布的情况,例如在保险领域建模总体损失时,或者其他一些可能同时具有连续和离散性质的数据。

编辑:王菁

L1损失不受离群值的影响,所以在数据中存在异常值时,模型可能更稳健。但L2损失对大误差非常敏感,适合需要精确预测的场合,比如股市预测.

我觉得L1更适合处理噪音较大的数据集,而L2则更强调准确性。如果是普通的回归问题,L2更常用。不过在出奇的数据下,L1显示出优势!

看到有人提到离群值时,我想补充下,其实L2损失在一些领域信息不太清晰或者数据不够整洁时,效果会更好,因为它能通过平方来放大这个误差,否则就可能导致其他小误差的影响也被淹没了.

Huber损失特别适合在数据中存在离群值的情况下,尤其是当离群值数量相对较少,不想让它们对模型产生过大影响时。

如果你在做工业设备的预测,比如传感器数据,可能会因为故障引入大量异常数值,这时候使用Huber损失会更真实地反映设备的运行情况。

我觉得如果你的数据分布比较偏态,而且离群值少的情况下,Huber损失是个不错的选择。但如果离群值多,可能就要考虑其他策略了.

Poisson回归非常适合集计数数据,比如每天商店的客流量,但它假设事件是独立的,有时这种假设可能不成立,这就会影响结果。

我觉得Poisson回归在处理稀有事件时非常有用,尤其是当时间间隔很短时,但在大样本情况下,它的使用界限需要更清晰了解.

使用Poisson回归时,要考虑到均值方差相等的假设,如果数据不满足这点,可能就要考虑负二项回归了来处理过度离散的问题.