L1和L2损失是指机器学习中常用的两种损失函数。它们通常用于衡量模型预测与真实值之间的差异。
L1损失,也称为平均绝对误差(MAE,Mean Absolute Error),计算的是预测值与真实值之间的绝对差的平均值。它对异常值比较敏感,因为它使用了绝对值,所以异常值的影响会比较大。
L2损失,也称为均方误差(MSE,Mean Squared Error),计算的是预测值与真实值之间的平方差的平均值。相比于L1损失,它对异常值的影响较小,因为平方会放大较大的误差,使得模型对异常值更加鲁棒。
在实际应用中,选择使用L1损失还是L2损失取决于具体的问题和数据特点。
如假设我们有一组真实值和模型的预测值如下:
真实值:[10, 20, 30, 40]
预测值:[12, 18, 28, 41]
首先,我们计算L1损失(MAE):
L1损失 = (|10-12| + |20-18| + |30-28| + |40-41|) / 4 = (2 + 2 + 2 + 1) / 4 = 1.75
接下来,我们计算L2损失(MSE):
L2损失 = ((10-12)^2 + (20-18)^2 + (30-28)^2 + (40-41)^2) / 4 = (4 + 4 + 4 + 1) / 4 = 3.25
在这个例子中,L1损失为1.75,而L2损失为3.25。可以看到,L2损失受到了较大的误差值的影响,因为平方会放大误差。而L1损失相对来说对异常值的影响较小。因此,在不同的情况下,我们可以根据具体的需求选择使用L1损失还是L2损失。