我已经浏览过this ,和this邮政。
但是,我的问题非常具体:
如果针对类标记为 0 和 1 的分类问题,我的 model.predict()
函数的输出类似于:
array([[0.5147758 ],
[0.48530805],
[0.5122566 ],
[0.4839405 ],
[0.49831972],
[0.4886117 ],
[0.5130876 ],
[0.50388396]], dtype=float32)
我使用binary_crossentropy
损失,最后一层为:
Dense(1, activation='sigmoid')
那么上面输出中的每个条目表示类别 0 或类别 1 出现的概率?
最佳答案
sigmoid
激活将输出 0 到 1 之间的值,并且您的密集层中只有一个神经元单元。二元交叉熵损失将尝试最大化有利于可用的两个类别之一的概率。因此,准确地说,您的情况的输出实际上是第 1 类发生的概率。对于第 0 类概率值,您必须执行 1 - 输出
。
最后层中常用的其他类型的激活是“softmax”。此激活将为您提供每一类发生的概率,因此最终层中的单元数将等于类数。在此设置中,我们使用分类交叉熵损失。
关于python - 了解 keras model.predict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57646905/