TensorFlow中两种多分类损失函数categorical_crossentropy和sparse_categorical_crossentropy间的区别

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