【发布时间】:2020-07-20 12:44:36
【问题描述】:
我需要将图像分类为癌性或非癌性。
为此,我构建了一个经典的 CNN,但我在使用这样的两列向量标记我的数据集之间犹豫不决:
cancerous: [0, 1]
not cancerous: [1, 0]
并使用具有 2 个输出神经元的 softmax 激活函数。
model.add(Dense(2, activation='softmax'))
或
cancerous: [1]
not cancerous: [0]
并使用带有一个输出神经元的 sigmoid 激活函数。
model.add(Dense(1, activation='sigmoid'))
鉴于我需要使用患癌概率作为患者的最终指标以及绘制 ROC 曲线,哪种模型更好?
【问题讨论】:
-
这个问题被问及详细回答here。它没有谈论 ROC,但您可能仍然会发现它很有用。
-
使用 sigmoid 或 softmax 激活与使用二进制或 one-hot 编码标签直接相关,您应该完全意识到这一点,因为您对已删除的答案做出了不正确的评论。
标签: python keras neural-network classification layer