TensorFlow中,categorical_crossentropy和sparse_categorical_crossentropy都是交叉熵损失函数,它们的数学意义相同,区别仅在于适用于不同的类别标签编码格式。

当输入数据的类别标签采用独热编码(OneHot Encoding)格式时,模型应采用 categorical_crossentropy 损失函数;当输入数据的类别标签采用序号编码(Label Encoding)格式时,模型应采用 sparse_categorical_crossentropy 损失函数。

以水果分类任务为例:

标签类别 独热编码 序号编码
橘子 (1, 0, 0, 0, 0) 0
苹果 (0, 1, 0, 0, 0) 1
香蕉 (0, 0, 1, 0, 0) 2
(0, 0, 0, 1, 0) 3
西瓜 (0, 0, 0, 0, 1) 4