sparse_categorical_crossentropy和categorical_crossentropy有什么区别?
sparse_categorical_crossentropy
和之间有什么区别categorical_crossentropy
?什么时候应该使用一种损失而不是另一种?例如,这些损失是否适合线性回归?
-
只是:
categorical_crossentropy
(cce
)使用单热点数组来计算概率,sparse_categorical_crossentropy
(scce
)使用类别索引
考虑具有5个类别(或类)的分类问题。
-
在的情况下
cce
,一个热门目标可能是[0, 1, 0, 0, 0]
并且模型可以预测[.2, .5, .1, .1, .1]
(可能正确) -
在的情况下
scce
,目标索引可以是[1],并且模型可以预测:[.5]。
现在考虑具有3个类别的分类问题。
- 在的情况下
cce
,一个热门目标可能是[0, 0, 1]
并且模型可以预测[.5, .1, .4]
(可能不准确,因为它给第一类提供了更多的可能性) - 在的情况下
scce
,目标索引可能为[0]
,并且模型可以预测[.5]
大多数分类模型会产生一时熵和分类熵,因为它可以节省空间,但是在使用稀疏模型时会丢失很多信息(例如,在第二种情况下,索引2也非常接近)。我总是一口气研究
cce
模型输出的可靠性。简而言之,
sparse_categorical_crossentropy
当您的类是互斥的时使用,即您根本不在乎其他足够接近的预测。