如何为CNN的每个班级获得0到1的分数?

时间:2017-04-21 10:54:23

标签: tensorflow deep-learning classification conv-neural-network softmax

我目前正在训练网络(使用Tensorflow实施的CNN)对3个班级进行分类,事情是我最终得分如下:

[ -20145.36, 150069, 578456.3 ].

我希望得分在0到1之间(某种概率)。

起初,我考虑过使用sigmoid函数,但后来发现这个讨论甚至没有提到:

https://www.quora.com/How-do-you-normalize-numeric-scores-to-a-0-1-range-for-comparing-different-machine-learning-techniques

你建议我做什么,让每个班级得分在0到1之间?

谢谢

1 个答案:

答案 0 :(得分:5)

作为最后一层,您总是使用softmax来获得n级分类分数。所以,你有tensorflow classification docs中提到的一些选项。

最简单的方法是使用tf.nn.softmax()

namespace foo { ... }

示例:

softmax = exp(logits) / reduce_sum(exp(logits), dim)