当前位置: 代码网 > it编程>编程语言>Php > 最全的深度学习回归损失函数

最全的深度学习回归损失函数

2024年07月28日 Php 我要评论
这种损失的问题是,有时误差可能会在单个样本之间抵消,导致零损失,这可能会产生误导。这种损失在行为上非常接近Huber损失,因为它对于非常大的误差值具有线性行为,而对于小的损失值具有二次性行为。这里的好处是,您不必像Huber损失的情况那样决定阈值的值。损失函数与标度无关,因为它是两个对数值的差,这与值的比值的对数相同。接近零的值,其中零是最佳值,是一个好模型的特征。对于超过阈值的损失值,损失是线性的,否则是二次的。损失函数与标度无关,因为它是两个对数值的差,这与值的比值的对数相同。

1. 平均绝对误差:

mean absolute error (mae), l1 norm 损失函数
m a e = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ mae=\frac{1}{n}\sum_{i=1}^n|y_i - \hat{y}_i| mae=n1i=1nyiy^i
该损失函数易于计算和测量真实值和预测值之间的绝对差。它对异常值不敏感,在零处也不可微。

2. 均方差:

mean squared error (mse), l2 norm 损失函数
m s e = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 mse=\frac{1}{n}\sum_{i=1}^n(y_i-\hat{y}_i)^2 mse=n1i=1n(yiy^i)2
当由于二次损失而检测到异常值时,该损失函数以有效的方式处理异常值。随着损失的减少,梯度变小,收敛也是平滑的。

3. 平均偏差误差

mean bias error (mbe),平均偏差误差并不经常作为损失函数用于任何机器模型。mbe主要用于计算机器学习模型中的平均偏差。尽管它在实践中不太准确,但它可以确定模型是有正偏差还是有负偏差:
m b e = 1 n ∑ i = 1 n ( y i − y ^ i ) mbe=\frac{1}{n}\sum_{i=1}^n(y_i-\hat{y}_i) mbe=n1i=1n(yiy^i)
上述损失与mae不同,因为它没有使用绝对值。它有助于识别模型偏差的方向,即(+ve或-ve)。这种损失的问题是,有时误差可能会在单个样本之间抵消,导致零损失,这可能会产生误导。

4. 相对绝对误差

relative absolute error (rae),相对绝对误差的计算包括取总绝对误差除以平均值和实际值之间的绝对差。相对平方误差(rse):
r s e = ∑ i = 1 n ∣ y i − y ^ ∣ ∑ i = 1 n ∣ y i − y ˉ ∣ , w h e r e     y ˉ = 1 n ∑ i = 1 n y i rse = \frac{\sum_{i=1}^n|y_i-\hat{y}|}{\sum_{i=1}^n|y_i-\bar{y}|}, \\where~~~ \bar{y}=\frac{1}{n}\sum_{i=1}^ny_i rse=i=1nyiyˉi=1nyiy^,where   yˉ=n1i=1nyi
rae是一种基于比率的指标,用于评估预测模型的功效。rae的值可能介于0和无穷大之间。接近零的值,其中零是最佳值,是一个好模型的特征。

5. 相对平方误差

relative squared error (rse),相对平方误差是相对于使用简单预测器时的误差。更具体地说,这个简单的预测器只是实际值的平均值。因此,相对平方误差取总平方误差,并通过除以简单预测器的总平方误差将其归一化:
r s e = ∑ i = 1 n ( y i − y ^ ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 , w h e r e     y ˉ = 1 n ∑ i = 1 n y i rse = \frac{\sum_{i=1}^n(y_i-\hat{y})^2}{\sum_{i=1}^n(y_i-\bar{y})^2}, \\where~~~ \bar{y}=\frac{1}{n}\sum_{i=1}^ny_i rse=i=1n(yiyˉ)2i=1n(yiy^)2,where   yˉ=n1i=1nyi
对于完美拟合,分子等于0,损失=0。因此,损失指数的范围从0到无穷大,其中0对应于理想。

6. 平均绝对百分比误差

mean absolute percentage error (mape), 平均绝对百分比误差(mape),也称为平均绝对百分比偏差(mapd),是一种用于评估预测系统准确性的指标:
m a p e = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ y i ⋅ 100 % mape=\frac{1}{n}\sum_{i=1}^n\frac{|y_i-\hat{y}_i|}{y_i}\cdot100\% mape=n1i=1nyiyiy^i100%

7. 均方根误差

root mean squared error (rmse), mse的平方根用于计算rmse:
r m s e = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 rmse=\sqrt{\frac{1}{n}\sum_{i=1}^n(y_i-\hat{y}_i)^2} rmse=n1i=1n(yiy^i)2

8. 均方对数误差

mean squared logarithmic error (msle), 均方对数误差(msle)测量实际值和预期值之间的差异:
m s l e = 1 n ∑ i = 0 n [ l o g ( y i + 1 ) − l o g ( y ^ i + 1 ) ] 2 msle=\frac{1}{n}\sum_{i=0}^n[log(y_i+1)-log(\hat{y}_i+1)]^2 msle=n1i=0n[log(yi+1)log(y^i+1)]2
损失函数与标度无关,因为它是两个对数值的差,这与值的比值的对数相同。由于损失是对数的,它惩罚低估多于高估。

9. 均方根对数误差

root mean squared logarithmic error (rmsle), 对数均方根误差是通过将对数应用于实际数字和预测数字,然后减去它们来确定的。当同时考虑小误差和大误差时,rmsle能够抵抗异常值:
r m s l e = 1 n ∑ i = 0 n [ l o g ( y i + 1 ) − l o g ( y ^ i + 1 ) ] 2 rmsle=\sqrt{\frac{1}{n}\sum_{i=0}^n[log(y_i+1)-log(\hat{y}_i+1)]^2} rmsle=n1i=0n[log(yi+1)log(y^i+1)]2
损失函数与标度无关,因为它是两个对数值的差,这与值的比值的对数相同。由于损失是对数的,它惩罚低估多于高估。与msle相同,但它的均方根版本。

10. 归一化均方根误差

normalized root mean squared error (nrmse), 归一化均方根误差(nrmse)rmse便于在具有不同尺度的模型之间进行比较。这里的 o o o是观测值的平均值:
n r m s e = 1 n ∑ i = 0 n ( y i − y ^ i ) 2 o nrmse=\frac{\sqrt{\frac{1}{n}\sum_{i=0}^n(y_i-\hat{y}_i)^2}}{o} nrmse=on1i=0n(yiy^i)2
nrmse克服了规模依赖性,简化了不同规模或数据集的模型之间的比较。

11. 相对均方根误差

relative root mean squared error (rrmse), rrmse是一种无量纲的rmse变体。相对均方根误差(rrmse)是一种均方根误差度量,它已根据实际值进行缩放,然后通过均方根值进行归一化:
r r m s e = 1 n ∑ n = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y ^ i ) rrmse=\sqrt{\frac{\frac{1}{n}\sum_{n=1}^n(y_i-\hat{y}_i)^2}{\sum_{i=1}^n(\hat{y}_i)}} rrmse=i=1n(y^i)n1n=1n(yiy^i)2

12. huber损失

huber损失是二次和线性评分算法的理想组合:
l δ = { 1 2 ( y i − y ^ ) 2 if   ∣ ( y − y ^ ) ∣ < δ δ ( y − y ^ ) − 1 2 δ otherwise l_\delta= \begin{cases} \frac{1}{2}(y_i-\hat{y})^2& \text{if} ~~|(y-\hat{y})|<\delta\\ \delta (y-\hat{y})-\frac{1}{2}\delta& \text{otherwise} \end{cases} lδ={21(yiy^)2δ(yy^)21δif  (yy^)<δotherwise
huber损失是二次和线性两个损失函数的组合。损失的行为由阈值的值来定义。对于超过阈值的损失值,损失是线性的,否则是二次的。

13. 对数余弦损失

log cosh loss, log-cosh计算误差的双曲余弦的对数:
l o g c o s h ( t ) = ∑ i = 1 n l o g [ c o s h ( y i − y ^ i ) ] logcosh(t)=\sum_{i=1}^nlog[cosh(y_i-\hat{y}_i)] logcosh(t)=i=1nlog[cosh(yiy^i)]
这种损失在行为上非常接近huber损失,因为它对于非常大的误差值具有线性行为,而对于小的损失值具有二次性行为。这里的好处是,您不必像huber损失的情况那样决定阈值的值。

14. 分位数损失函数

quantile loss,分位数回归损失函数用于预测分位数。分位数是指示组中有多少值低于或高于特定阈值的值:
q u a n t i l e l o s s = ∑ i = y i < y ^ i ( γ − 1 ) ∣ y i − y ^ i ∣ + ∑ i = y i > y ^ i ( γ ) ∣ y i − y ^ i ∣ quantileloss = \sum_{i=y_i<\hat{y}_i}(\gamma-1)|y_i-\hat{y}_i|+\sum_{i=y_i>\hat{y}_i}(\gamma)|y_i-\hat{y}_i| quantileloss=i=yi<y^i(γ1)yiy^i+i=yi>y^i(γ)yiy^i
这里, γ \gamma γ表示所需的分位数。分位数是根据我们希望如何平衡正误差和负误差来选择的。

15. 后验极大似然损失函数

后验极大似然(pml)损失函数的具体公式是通过最大化参数的后验概率密度函数来估计参数值,而不是最大化似然函数。在贝叶斯统计中,可以表示为:
l ( θ ) = a r g m a x p ( θ ∣ d ) l(\theta) = argmax p(\theta|d) l(θ)=argmaxp(θd)

其中,l(θ)是损失函数,θ是参数,p(θ|d)是给定观测数据d条件下参数θ的后验概率密度函数。

根据贝叶斯公式,可以将后验概率密度函数表示为:
p ( θ ∣ d ) = p ( d ∣ θ ) ∗ p ( θ ) / p ( d ) p(\theta|d) = p(d|\theta) * p(\theta) / p(d) p(θd)=p(dθ)p(θ)/p(d)
其中,p(d|θ)是给定参数θ的似然函数,p(θ)是参数θ的先验分布,p(d)是数据的边缘概率。

最大化后验概率密度函数等价于最大化条件似然函数 p(d|θ) * p(θ),即:
l ( θ ) = a r g m a x p ( d ∣ θ ) ∗ p ( θ ) l(\theta) = argmax p(d|\theta) * p(\theta) l(θ)=argmaxp(dθ)p(θ)
后验极大似然损失函数的具体形式和计算方法取决于所选择的先验分布和问题的特定情况。因此,公式中涉及的概率分布和参数估计方法会根据具体问题的需求而有所不同。

16. 泊松损失

poisson loss, 它基于泊松分布的概率密度函数和模型预测的平均计数之间的差异。泊松损失(poisson loss)适用于计数数据的预测。泊松损失基于泊松分布的概率密度函数和模型预测的平均计数之间的差异来衡量模型的拟合程度:
p o i s s o n ( p , t ) = 1 n ∑ i = 1 n ( p i − t i l o g ( p i ) ) poisson(p,t)= \frac{1}{n} \sum_{i=1}^n(p_i −t_i log(p_i )) poisson(p,t)=n1i=1n(pitilog(pi))

参考文章:
https://medium.com/@mlblogging.k/14-loss-functions-you-can-use-for-regression-b24db8dff987

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com