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 |