哪一种对准确性更好,还是它们是一样的?当然,如果使用categorical_crossentropy
,则使用一种热编码,如果使用sparse_categorical_crossentropy
,则编码为普通整数。另外,什么时候一个比另一个好呢?
发布于 2018-12-01 08:20:01
当类是相互排斥的(例如,当每个样本完全属于一个类时),使用稀疏的分类交叉熵;当一个样本可以有多个类或标签时,使用分类交叉熵是软概率(如0.5、0.3、0.2)。
分类交叉熵的公式(S -样本,C-类,s \in c -样本属于C类)是:
对于类是排他性的情况,您不需要对它们进行求和-对于每个示例,只有非零值才是真正的类c的-log p(s \in c)。
这样可以节省时间和内存。假设有10000个类是相互排斥的--每个样本只需要一个日志,而不是10000个,只是一个整数而不是10000个浮动。
公式在这两种情况下是相同的,所以不应该影响准确性。
发布于 2019-07-19 09:32:49
简单地说,
如果你的目标是一个热编码,使用categorical_crossentropy
.一种热编码的例子:
[1,0,0]
[0,1,0]
[0,0,1]
但是,如果目标是整数,则使用sparse_categorical_crossentropy
。整数编码示例(为了完成):
1
2
3
https://datascience.stackexchange.com/questions/41921
复制相似问题