Python 3.x 为什么在TensorFlow入门教程中输出总和为1?

Python 3.x 为什么在TensorFlow入门教程中输出总和为1?,python-3.x,tensorflow,neural-network,deep-learning,softmax,Python 3.x,Tensorflow,Neural Network,Deep Learning,Softmax,我做了这个教程: 这很有帮助,但我不明白为什么输出总是和1。说明“对于本例,输出预测之和为1.0”,但未解释。我认为这可能是激活函数的一个特征,但我读到ReLu可以接受任何大于0()的值 我想理解,因为我想了解在哪些情况下应该规范化输出变量,在哪些情况下这是不必要的(我假设如果它们的总和总是为1,那么这是不必要的)。在给定的示例中,语句输出总是总和为1指的是使用的softmax函数,与规范化或使用的激活函数无关。在本教程的Iris示例中,我们希望区分三个类,当然,类概率之和不能超过100%(1.

我做了这个教程:

这很有帮助,但我不明白为什么输出总是和1。说明“对于本例,输出预测之和为1.0”,但未解释。我认为这可能是激活函数的一个特征,但我读到ReLu可以接受任何大于0()的值


我想理解,因为我想了解在哪些情况下应该规范化输出变量,在哪些情况下这是不必要的(我假设如果它们的总和总是为1,那么这是不必要的)。

在给定的示例中,语句
输出总是总和为1
指的是使用的softmax函数,与规范化或使用的激活函数无关。在本教程的Iris示例中,我们希望区分三个类,当然,类概率之和不能超过100%(1.0)


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

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


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

啊,看起来教程中的示例代码实际上没有给出这3个类的概率(如图2所示),只是根据原始激活值预测类?或者至少,我在网络末端找不到softmax函数。你完全正确。这在教程中有点误导。谢谢澄清!如果我真的想从网络上获得这些概率,我该怎么办?不客气。如果您想拥有probas类,只需将原始激活值传递给tf.nn.softmax函数。顺便说一句,我非常感谢您的支持,请将我的答案标记为已接受:)谢谢,教程中的示例代码似乎没有给出3个类的概率(如图2所示),但仅根据原始激活值预测类?或者至少,我在网络末端找不到softmax函数。你完全正确。这在教程中有点误导。谢谢澄清!如果我真的想从网络上获得这些概率,我该怎么办?不客气。如果您想拥有probas类,只需将原始激活值传递给tf.nn.softmax函数。顺便说一句,我希望能投赞成票,请将我的回答标记为接受:)谢谢为什么投反对票?巨魔横行于stackoverflow,拥有投票权的巨魔。为了帮你,我投了你一票。如果你还不知道答案的话,这是一个好问题。为什么要投否决票?巨魔横行于stackoverflow,拥有投票权的巨魔。为了帮你,我投了你一票。如果你还不知道答案,这是个好问题。