如何在张量流的二进制分类中将logit转换为概率?

yan*_*hen 3 deep-learning tensorflow

logits= tf.matmul(inputs, weight) + bias
Run Code Online (Sandbox Code Playgroud)

经过matmul操作后,logit是从MLP层派生的两个值。我的目标是二进制分类,如何将两个值logit转换为概率,包括正概率和负概率,它们的总和为1?

Rya*_*Jay 6

predictions = tf.nn.softmax(logits)
Run Code Online (Sandbox Code Playgroud)

  • @MuhammadYasirroni 我指的是单值输出,你正在谈论两个输出。参见Suleka_28的答案,这是正确答案 (2认同)

Sul*_*_28 5

我正在为需要进一步说明的任何人写此答案:

如果是二进制分类,则应为:

prediction = tf.round(tf.nn.sigmoid(logit))
Run Code Online (Sandbox Code Playgroud)

如果是多类分类:

prediction = tf.nn.softmax(logit)
Run Code Online (Sandbox Code Playgroud)

然后使用argmax函数,您可以获得具有最高概率得分的类的索引。

np.argmax(prediction, 0)
Run Code Online (Sandbox Code Playgroud)

  • 请注意,您还可以直接在 logits 上运行“np.argmax”。 (3认同)