我read来自文档:
tf.keras.losses.SparseCategoricalCrossentropy( from_logits=False, reduction="auto", name="sparse_categorical_crossentropy" )
计算标签和预测之间的交叉熵损失。
当有两个或多个标签时使用此交叉熵损失函数 类。我们希望标签以整数形式提供。如果你想 使用一键表示提供标签,请使用
CategoricalCrossentropy
损失。应该有#个类的浮点数y_pred
的每个功能的值,以及每个功能的单个浮点值y_true
的功能。
为什么将其称为稀疏分类交叉熵?如果有的话,我们将提供更紧凑的类标签编码(整数与单热向量)。
答案 0 :(得分:1)
我认为这是因为整数编码比单热点编码更紧凑,因此更适合于编码稀疏二进制数据。换句话说,整数编码=稀疏二进制数据的更好编码。
当您有许多可能的标签(和样本)时,这会很方便,在这种情况下,单例编码比每个示例中的简单整数浪费得多。
答案 1 :(得分:0)
为什么这样称呼它可能是Keras开发人员最好的回答。但是,请注意,这种稀疏的交叉熵仅适用于“稀疏标签”,“稀疏标签”恰好一个值是1,其他所有值都是0(如果标签表示为向量,而不仅仅是索引) )。
另一方面,一般CategoricalCrossentropy
还可用于非热点(即任何概率分布)的目标。这些值只需要在 和1之间,并且总和为1。这往往会被遗忘,因为在当前的ML应用程序中,单热点目标的用例非常普遍。