python - 了解 keras model.predict

标签 python machine-learning keras

我已经浏览过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/

相关文章:

python - 为什么不能使用生成器函数作为插槽?

python - 逐字分割阿拉伯语单词python

python - 查找两个字符串(名称)之间的余弦相似度

python - 设置代理让keras/tensorflow下载需要的json

python - Keras ImageDataGenerator 流目录与 3D CNN 数据格式错误?

java - 在 Python 3.4 中使用 os.system 函数调用 java 的问题

python - 如何使用 numpy 数组列表来训练 ML 算法?

python - 如何使用计算数据创建历史数据框?

machine-learning - 在 Weka 中工作时,最后一个属性数据类型是否需要是名义的?

javascript - Keras.js 中的多维输入