gpt4 book ai didi

python - sparse_categorical_crossentropy 和 categorical_crossentropy 有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-04 11:09:47 34 4
gpt4 key购买 nike

sparse_categorical_crossentropycategorical_crossentropy 有什么区别?什么时候应该使用一种损失而不是另一种?例如,这些损失是否适合线性回归?

最佳答案

简单地:

  • categorical_crossentropy (cce) 生成一个单热数组,其中包含每个类别的可能匹配项,
  • sparse_categorical_crossentropy (scce) 生成最有可能匹配类别的类别索引。

考虑一个包含 5 个类别(或类别)的分类问题。

  • cce 的情况下,one-hot 目标可能是 [0, 1, 0, 0, 0] 并且模型可能预测 [.2, .5, .1, .1, .1](可能是对的)

  • scce 的情况下,目标索引可能是 [1],模型可能预测:[.5]。

现在考虑一个包含 3 个类的分类问题。

  • cce 的情况下,one-hot 目标可能是 [0, 0, 1] 并且模型可能预测 [.5, . 1, .4](可能不准确,因为它给第一类的概率更大)
  • scce的情况下,目标索引可能是[0],模型可能预测[.5]<

许多分类模型会产生 scce 输出,因为这样可以节省空间,但会丢失很多信息(例如,在第二个示例中,索引 2 也非常接近。)我通常更喜欢 cce 模型可靠性的输出。

scce 有多种使用场景,包括:

  • 当你的类相互排斥时,即你根本不关心其他足够接近的预测,
  • 类别数量大到预测输出变得不堪重负。

220405:对“one-hot encoding”评论的回应:

one-hot 编码用于类别特征输入以选择特定类别(例如男性与女性)。这种编码允许模型更有效地训练:训练权重是类别的乘积,对于除给定类别之外的所有类别均为 0。

ccescce 是模型输出。 cce是每个类别的概率数组,共1.0。 scce 显示 MOST LIKELY 类别,总计 1.0。

scce 在技术上是一个单热数组,就像用作门挡的锤子仍然是锤子,但其用途不同。 cce 不是一次性的。

关于python - sparse_categorical_crossentropy 和 categorical_crossentropy 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58565394/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com