建模之常见损失函数(Keras, Sklearn, R)
发布日期:2022-02-14 23:02:55 浏览次数:27 分类:技术文章

本文共 5157 字,大约阅读时间需要 17 分钟。

序号 概况 表达式 场景
1 交叉熵 H ( p , q ) = ∑ x ( p ( x ) × log ( 1 q ( x ) ) ) = ∫ x P ( x ) × log ( Q ( x ) ) d x H(p, q)=\sum_x(p(x) \times \text{log}(\frac{1}{q(x)})) = \int_x P(x) \times \text{log}(Q(x))\mathrm{d}x H(p,q)=x(p(x)×log(q(x)1))=xP(x)×log(Q(x))dx
− log ( p ( y ∣ y ^ ) ) = − ( y × log ( p ^ ) + ( 1 − y ) × log ( 1 − p ^ ) ) -\text{log}(p(y\mid\hat{y})) = -(y \times \text{log}(\hat{p}) + (1 - y) \times \text{log}(1 - \hat{p})) log(p(yy^))=(y×log(p^)+(1y)×log(1p^))
分类 sklearn.metrics.log_loss keras.losses.BinaryCrossentropy(class)
keras.losses.binary_crossentropy(function)
binary_crossentropy
LogLoss
2 多分类:one-hot 同上 keras.losses.CategoricalCrossentropy(class)
keras.losses.categorical_crossentropy(function)
categorical_crossentropy
MultiLogLoss
3 同上 keras.losses.SparseCategoricalCrossentropy(class)
keras.losses.sparse_categorical_crossentropy(function)
sparse_categorical_crossentropy
4 keras: loss = y ^ − y × log ( y ^ ) \text{loss} = \hat{y} - y \times \text{log}(\hat{y}) loss=y^y×log(y^)
Sklearn: loss = 2 × ( y × log ( y y ^ ) + y ^ − y ) ‾ \text{loss} = \overline{2 \times (y \times \text{log}(\frac{y}{\hat{y}}) + \hat{y} - y)} loss=2×(y×log(y^y)+y^y)。注意0的替换
回归 sklearn.metrics.mean_poisson_deviance keras.losses.Poisson(class)
keras.losses.poisson(funtion)
poisson
Poisson_LogLoss
5 loss = ∑ ( y × log ( y y ^ ) ) \text{loss} = \sum(y \times \text{log}(\frac{y}{\hat{y}})) loss=(y×log(y^y))。按列求和(axis=1),再均值 keras.losses.KLDivergence(class)
keras.losses.kl_divergence(function)
kl_divergence
6 mse loss = ( y ^ − y ) 2 ‾ \text{loss} = \overline{(\hat{y} - y)^2} loss=(y^y)2 回归 sklearn.metrics.mean_squared_error keras.losses.MeanSquaredError
keras.losses.mean_squared_error
mean_squared_error
keras.losses.MSE
keras.losses.mse
MSE,RMSE
7 mae loss = ∣ y ^ − y ∣ ‾ \text{loss} = \overline{\mid\hat{y} - y\mid} loss=y^y 回归 sklearn.metrics.mean_absolute_error keras.losses.MeanAbsoluteError
keras.losses.mean_absolute_error
mean_absolute_error
keras.losses.MAE
keras.losses.mae
MAE
8 mape loss = ∣ y ^ − y ∣ y ‾ \text{loss} = \overline{\frac{\mid\hat{y} - y\mid}{y}} loss=yy^y 时间序列 keras.losses.MeanAbsolutePercentageError
keras.losses.mean_absolute_percentage_error
mean_absolute_percentage_error
keras.losses.MAPE
keras.losses.mape
MAPE
9 msle loss = ( log ( y + 1 ) − log ( y ^ + 1 ) ) 2 ‾ \text{loss} = \overline{(\text{log}(y + 1) - \text{log}(\hat{y} + 1))^2} loss=(log(y+1)log(y^+1))2 回归 sklearn.metrics.mean_squared_log_error keras.losses.MeanSquaredLogarithmicError
keras.losses.mean_squared_logarithmic_error
mean_squared_logarithmic_error
keras.losses.MSLE
keras.losses.msle
RMSLE
10 公式: A ⋅ B = ∥ A ∥ × ∥ B ∥ × cos ⁡ ( θ ) A \cdot B = \parallel A \parallel \times \parallel B \parallel \times \cos(\theta) AB=A×B×cos(θ)
sklearn:标准公式
keras: − ∑ ( l2norm ( y ^ ) ∗ l2norm ( y ) ) -\sum(\text{l2norm}(\hat{y}) * \text{l2norm}(y)) (l2norm(y^)l2norm(y))
sklearn.metrics.pairwise.cosine_similarity keras.losses.CosineSimilarity
keras.losses.cosine_similarity
cosine_similarity
11 ∣ e r r ∣ ≤ δ : : 0.5 ∗ e r r 2 ( mse ) \mid err \mid \le \delta::0.5 * err ^2(\text{mse}) errδ:0.5err2(mse)
∣ e r r ∣ > δ : 0.5 ∗ δ 2 + δ ∗ ( ∣ e r r ∣ − δ ) \mid err \mid \gt \delta:0.5 * \delta^2 + \delta * (\mid err \mid - \delta) err>δ0.5δ2+δ(errδ)
说明:上式是针对每个err,若err是个矩阵,则对每个err计算后再平均
keras.losses.Huber(delta=1.0)
keras.losses.huber
huber_loss
12 双曲余弦对数损失 log ( e y ^ − y + e − 1 × ( y ^ − y ) 2 ) ‾ \overline{\text{log}(\frac{e^{\hat{y} - y} + e^{-1 \times (\hat{y} - y)}}{2})} log(2ey^y+e1×(y^y)) keras.losses.LogCosh
keras.losses.log_cosh
log_cosh
13 maximum ( 1 − 1 − y ^ × y , 0 ) ‾ \overline{\text{maximum}(1 - 1 - \hat{y} \times y, 0)} maximum(11y^×y,0)。说明:此 y ^ \hat{y} y^ [ − 1 , 1 ] [-1, 1] [1,1] 分类,最大间隔 sklearn.metrics.hinge_loss keras.losses.Hinge
keras.losses.hinge
hinge
14 ( maximum ( 1 − 1 − y ^ × y , 0 ) ) 2 ‾ \overline{(\text{maximum}(1 - 1 - \hat{y} \times y, 0))^2} (maximum(11y^×y,0))2。说明:此 y ^ \hat{y} y^ [ − 1 , 1 ] [-1, 1] [1,1] 最大间隔 keras.losses.SquaredHinge
keras.losses.squared_hinge
squared_hinge
15 maximum ( max ( ( 1 − y ) × y ^ ) − ∑ ( y × y ^ ) + 1 , 0 ) ‾ \overline{\text{maximum}(\text{max}((1 - y) \times \hat{y}) - \sum(y \times \hat{y}) + 1, 0)} maximum(max((1y)×y^)(y×y^)+1,0) 最大间隔 keras.losses.CategoricalHinge
keras.losses.categorical_hinge
categorical_hinge
16 Hamming loss 同0-1分类的True 分类 sklearn.metrics.hamming_loss
17 0-1分类 normalize=True:返回分类失败的个数
normalize=False:返回分类失败的占比
分类 sklearn.metrics.zero_one_loss(normalize=True) ZeroOneLoss
18 2 × ( log y ^ y + y y ^ − 1 ) ‾ \overline{2 \times (\text{log}{\frac{\hat{y}}{y}} + \frac{y}{\hat{y}} - 1)} 2×(logyy^+y^y1)。注意0的替换 回归 sklearn.metrics.mean_gamma_deviance
19 p=0:mse
p=1:poisson(见上面)
p=2:gamma(见上面)
p=other: 2 × ( m a x ( y , 0 ) 2 − p ( 1 − p ) × ( 2 − p ) − y × y ^ 1 − p 1 − p + y ^ 2 − p 2 − p ) ‾ \overline{2 \times (\frac{max(y, 0)^{2 - p}}{(1 - p) \times (2 - p)} - \frac{y \times \hat{y}^{1 - p}}{1 - p} + \frac{\hat{y}^{2 - p}}{2 - p})} 2×((1p)×(2p)max(y,0)2p1py×y^1p+2py^2p)
回归 sklearn.metrics.mean_tweedie_deviance(power=p)
20 分类排名 分类排名 sklearn.metrics.label_ranking_loss

转载地址:https://blog.csdn.net/fish2009122/article/details/108020996 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:docker-compose资源限制&docker资源监控
下一篇:假设检验小结

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月14日 14时55分48秒