哪个更准确,还是一样?当然,如果您使用,则categorical_crossentropy
使用一种热编码,如果使用,则将sparse_categorical_crossentropy
其编码为普通整数。此外,什么时候比另一个更好?
Sparse_categorical_crossentropy vs categorical_crossentropy(keras,准确度)
数据挖掘
神经网络
喀拉斯
损失函数
编码
2021-10-13 20:26:44
2个回答
当您的类互斥时(例如,当每个样本完全属于一个类时)使用稀疏分类交叉熵,当一个样本可以有多个类或标签是软概率(如 [0.5,0.3,0.2])时使用分类交叉熵。
分类交叉熵公式(S - 样本,C - 类, - 属于 c) 类的样品是:
对于排他性类的情况,您不需要对它们求和 - 对于每个样本,只有非零值只是对于真正的 c 类。
这允许节省时间和内存。当它们互斥时考虑 10000 个类的情况 - 只有 1 个日志而不是对每个样本求和 10000,只有一个整数而不是 10000 个浮点数。
两种情况下的公式都是相同的,因此不会对准确性产生影响。
答案,简而言之
如果您的目标是一次性编码的,请使用categorical_crossentropy
. one-hot 编码示例:
[1,0,0]
[0,1,0]
[0,0,1]
但如果您的目标是整数,请使用sparse_categorical_crossentropy
. 整数编码示例(为了完整起见):
1
2
3
其它你可能感兴趣的问题