在接下来的TensorFlow函数中,我们必须在最后一层中输入人工神经元的激活。我能理解。但我不明白为什么叫logits?这不是一个数学函数吗?

loss_function = tf.nn.softmax_cross_entropy_with_logits(
     logits = last_layer,
     labels = target_output
)

当前回答

以下是一个简明的答案,供将来的读者参考。Tensorflow的logit被定义为不应用激活函数的神经元输出:

logit = w*x + b,

X:输入,w:权重,b:偏差。就是这样。


以下内容与这个问题无关。

关于历史课程,请阅读其他答案。向Tensorflow“创造性地”令人困惑的命名惯例致敬。在PyTorch中,只有一个CrossEntropyLoss,它接受未激活的输出。卷积、矩阵乘法和激活都是同一层次的运算。设计更加模块化,更少混乱。这也是我从Tensorflow转向PyTorch的原因之一。

其他回答

日志

分类模型生成的原始(非归一化)预测向量,然后通常将其传递给归一化函数。如果模型要解决一个多类分类问题,对数通常会成为softmax函数的输入。然后,softmax函数生成一个(规范化)概率向量,每个可能的类都有一个值。

此外,对数有时指的是sigmoid函数的元素逆。有关更多信息,请参见tf.nn.sigmoid_cross_entropy_with_logits。

官方的张量流文档

以下是一个简明的答案,供将来的读者参考。Tensorflow的logit被定义为不应用激活函数的神经元输出:

logit = w*x + b,

X:输入,w:权重,b:偏差。就是这样。


以下内容与这个问题无关。

关于历史课程,请阅读其他答案。向Tensorflow“创造性地”令人困惑的命名惯例致敬。在PyTorch中,只有一个CrossEntropyLoss,它接受未激活的输出。卷积、矩阵乘法和激活都是同一层次的运算。设计更加模块化,更少混乱。这也是我从Tensorflow转向PyTorch的原因之一。

我只是添加了这个说明,以便任何向下滚动这么多的人至少可以得到正确的答案,因为有这么多错误的答案被点赞。

Diansheng和JakeJ的回答是正确的。 Shital Shah发布的一个新答案是一个更好、更完整的答案。


是的,logit在统计学中是一个数学函数,但在神经网络中使用的logit是不同的。统计逻辑在这里根本说不通。


我在任何地方都找不到正式的定义,但logit的基本意思是:

原始的预测来自神经网络的最后一层。 1. 这就是你应用argmax函数来得到预测类的张量。 2. 这就是你输入softmax函数来得到预测类别的概率的张量。


另外,在官方tensorflow网站上的教程中:

分对数层 神经网络的最后一层是logits层,它将返回我们预测的原始值。我们创建了一个有10个神经元的密集层(每个目标类0-9一个),线性激活(默认值): Logits = tf.layers.dense(输入=dropout,单位=10)


如果你仍然感到困惑,情况是这样的:

raw_predictions = neural_net(input_layer)
predicted_class_index_by_raw = argmax(raw_predictions)
probabilities = softmax(raw_predictions)
predicted_class_index_by_prob = argmax(probabilities)

其中predicted_class_index_by_raw和predicted_class_index_by_prob将相等。

上面代码中raw_forecasts的另一个名字是logit。


至于为什么logit…我不知道。对不起。 [编辑:看看这个词背后的历史动机。]


琐事

不过,如果你愿意,你可以将统计logit应用于softmax函数的概率。

如果某一类的概率是p, 那么该类的log-odds是L = logit(p)

同样,使用sigmoid函数,该类的概率可以恢复为p = sigmoid(L)。

但是计算对数概率不是很有用。

logit (/ o . oʊdʒɪt/ LOH-jit)函数是数学,特别是统计学中使用的s型“逻辑”函数或逻辑变换的逆函数。当函数的变量表示概率p时,logit函数给出log-odds,或p/(1 - p)的对数。

请看这里:https://en.wikipedia.org/wiki/Logit

Logits是一个重载的术语,可以有很多不同的含义:


在数学中,Logit是一个将概率([0,1])映射到R ((-inf, inf))的函数。

概率0.5对应logit为0。负logit对应概率小于0.5,正到>等于0.5。

在ML中,它可以是

原始向量(非规格化)的预测即一种分类 生成模型,然后通常将其传递给规范化 函数。如果模型正在解决一个多类分类 问题是,对数通常成为softmax函数的输入。的 然后,Softmax函数生成一个(标准化)概率向量 每个可能的类都有一个值。

logit有时也指sigmoid函数的元素逆。