我有一个用于多标签分类问题的CNN,并使用tf.nn.sigmoid_cross_entropy_with_logits
作为损失函数。
根据交叉熵方程,我期望输出的是每个类别的概率,但实际上我得到的是在(-∞, ∞)范围内的浮点数。
经过一些搜索后,我发现由于内部的归一化操作,每行logits在输入方程之前都可以解释为概率。
我对如何实际输出后验概率而不是浮点数以绘制ROC曲线感到困惑。
回答:
tf.sigmoid(logits)
可以为你提供概率值。
在tf.nn.sigmoid_cross_entropy_with_logits的文档中可以看到,tf.sigmoid
是将logits归一化为概率的函数。