基于距离度量的损失函数
平均绝对误差(MAE)/ L1 损失函数
$ MAE = \frac{1}{n}\sum_{i=1}^n|Y_i - f(x_i)| $
均方误差(MSE)
$ L(Y|f(x)) = \frac{1}{n} \sum_{i=1}^n(Y_i - f(x_i))^2 $
L2 损失函数
$ L(Y|f(x)) = \sqrt{\frac{1}{n} \sum_{i=1}^n(Y_i - f(x_i))^2} $
huber损失函数
huber损失是平方损失和绝对损失的综合,它克服了平方损失和绝对损失的缺点,不仅使损失函数具有连续的导数,而且利用MSE梯度随误差减小的特性,可取得更精确的最小值。尽管huber损失对异常点具有更好的鲁棒性,但是,它不仅引入了额外的参数,而且选择合适的参数比较困难,这也增加了训练和调试的工作量。
$ L(Y \mid f(x)) = \begin{cases} \frac{1}{2}(Y - f(x))^2 & \text{if } \lvert Y - f(x) \rvert \leq \delta, \ \delta \lvert Y - f(x) \rvert - \frac{1}{2} \delta^2 & \text{if } \lvert Y - f(x) \rvert > \delta. \end{cases} $
基于概率分布度量的损失函数
KL 散度
$ L(Y \mid f(x)) = \sum_{i=1}^n Y_i \times \log\left(\frac{Y_i}{f(x_i)}\right) $
是一种非对称度量方法,常用于度量两个概率分布之间的距离。KL散度也可以衡量两个随机分布之间的距离,两个随机分布的相似度越高的,它们的KL散度越小,当两个随机分布的差别增大时,它们的KL散度也会增大,因此KL散度可以用于比较文本标签或图像的相似性。
交叉熵
$ L(Y \mid f(x)) = -\sum_{i=1}^N Y_i \log f(x_i) $
交叉熵损失函数刻画了实际输出概率与期望输出概率之间的相似度,也就是交叉熵的值越小,两个概率分布就越接近,特别是在正负样本不均衡的分类问题中,常用交叉熵作为损失函数。目前,交叉熵损失函数是卷积神经网络中最常使用的分类损失函数,它可以有效避免梯度消散。在二分类情况下也叫做对数损失函数。
|
|
|
|
Focal Loss
$ FE = \begin{cases} -\alpha (1-p)^\gamma \log(p) & y = 1 \ -(1-\alpha) p^\gamma \log(1-p) & y = 0 \end{cases} $
focal loss的引入主要是为了解决难易样本不均衡的问题。通过 alpha ([0, 1]) 可以抑制正负样本的数量失衡,gama ([0, 5])可以控制简单/难区分样本数量失衡。gama 为 0 时则退化为最初的交叉熵
p 越接近 y,说明预测的难度越低,指数运算后降低其损失大小