为什么TensorFlow中的输出总和为1开始使用Eager教程?

时间:2018-06-18 12:27:22

标签: python-3.x tensorflow neural-network deep-learning softmax

我做了这个教程:https://www.tensorflow.org/get_started/eager

这非常有帮助,但我不明白为什么输出总是总和为1.表示“对于这个例子,输出预测的总和是1.0”,但没有解释。我认为这可能是激活功能的一个特征,但我读过ReLu可以取任何值> 0(https://medium.com/the-theory-of-everything/understanding-activation-functions-in-neural-networks-9491262884e0)。

我想理解,因为我想知道在哪些情况下应该对输出变量进行规范化,在这种情况下这不是必要的(我假设如果它们总是总和为1,则没有必要)。

1 个答案:

答案 0 :(得分:2)

在给定的示例中,句子outputs always sum to 1指的是使用的softmax函数,与规范化或使用的激活函数无关。在教程的Iris示例中,我们希望在三个类之间进行distingusih,当然,类概率的总和不能超过100%(1.0)。

例如,位于网络末端的softmax功能可能会返回[0.8, 0.1, 0.1]。这意味着第一类的概率最高。注意:所有单个probas的总和结果为1.0。