- 3.1 损失函数可以大致分为两类:
- 3.2 MSE 、MAE模型选择分析
- 3.3 Huber Loss,平滑的平均绝对误差
- 3.4 Log-Cosh Loss
- 3.5 Quantile Loss(分位数损失)
- 3.6 sklearn库 GradientBoostingRegression中的quantile loss
- 四 总结
一、概念
y=f(x)=ax+b
y
=
f
(
x
)
=
a
x
+
b
,对于每一个输入的x,都有一个对应的y输出。输出一般是连续的。
模型的定义域和值域都可以是
[−∞,+∞]
[
−
∞
,
+
∞
]
。
逻辑回归
[−∞,+∞]
[
−
∞
,
+
∞
]
但输出一般是离散的,即只有有限多个输出值。
二 构造sigmoid函数 及最大似然函数
三 损失函数
3.1 损失函数可以大致分为两类:
分类损失(Classification Loss)和 回归损失(Regression Loss)。
分类损失 | 回归损失 |
log loss (对数损失) | Mean Square error /quadratic loss (均方误差/二次损失) |
focal loss (焦点损失) | Mean Absolute Error (平均绝对误差) |
exponential loss (指数损失) | Huber Loss/smooth Mean Absolute Error (胡贝尔损失/平滑平均绝对误差) |
Hinge loss (铰链损耗) | log cosh loss (对数余弦损耗) |
KL Dibergence/Relative entropy(KL微分/相对熵) | Quantile loss(分位数损失) |
最常用的回归损失函数。MSE使目标变量与预测值之间距离平方之和。
平均绝对误差(MAE)是另一种用于回归模型的损失函数。
MAE是目标变量和预测变量之间差异绝对值之和。
因此,它在一组预测中衡量误差的平均大小,而不考虑误差的方向。(如果我们也考虑方向,那将被称为平均偏差(Mean Bias Error, MBE),它是残差或误差之和)。损失范围也是0
0
到 ∞∞。
3.2 MSE 、MAE模型选择分析
3.3 Huber Loss,平滑的平均绝对误差
它在0处也可导。基本上它是绝对误差, 当误差很小时,误差是二次形式的。误差何时需要变成二次形式取决于一个超参数:delta。
该超参数可以进行微调。当 δ
δ
~ 0时, Huber Loss接近MAE,
当 δ
δ
~ ∞
∞
(很大的数)时,Huber Loss接近 MSE。
delta 的选择非常重要,因为它决定了你认为什么数据是离群点。大于delta的残差用L1最小化(对较大的离群点较不敏感),
而小于delta的残差则可以“很合适地”用L2最小化。
训练神经网络时:
使用MAE训练神经网络的一个大问题是经常会遇到很大的梯度,使用梯度下降时可能导致训练结束时错过最小值。
对于MSE,梯度会随着损失接近最小值而降低,从而使其更加精确。
在这种情况下,Huber Loss可能会非常有用,因为它会使最小值附近弯曲,从而降低梯度。
另外它比MSE对异常值更鲁棒。因此,它结合了MSE和MAE的优良特性。
但是,Huber Loss的问题是我们可能需要迭代地训练超参数delta。
3.4 Log-Cosh Loss
Log-cosh是用于回归任务的另一种损失函数,它比L2更加平滑。Log-cosh是预测误差的双曲余弦的对数。
优点:
log(cosh(x))对于小的x来说,其大约等于 x22x22,而对于大的 x 来说,
其大约等于 abs(x) - log(2)。这意味着’logcosh’的作用大部分与均方误差一样,但不会受到偶尔出现的极端不正确预测的强烈影响。它具有Huber Loss的所有优点,和Huber Loss不同之处在于,其处处二次可导。
3.5 Quantile Loss(分位数损失)
3.6 sklearn库 GradientBoostingRegression中的quantile loss
(梯度提升回归分位数损失函数计算)
以MAE为损失的模型预测较少受到脉冲噪声的影响,而以MSE为损失的模型的预测由于脉冲噪声造成的数据偏离而略有偏差。
以Huber Loss为损失函数的模型,其预测对所选的超参数不太敏感。
Quantile Loss对相应的置信水平给出了很好的估计。
四 总结