我正在尝试用Java实现神经网络。我在研究神经网络的机器学习教科书中遇到过这个问题:
为了给出一些背景知识,本节讨论的是使用单个感知器进行分类。感知器计算一个简单的函数,它是输入的加权和。让我们调用这个函数f(x)的输出。然后,sigmoid函数将f(x)作为输入。这是教科书中的句子:
The output of the sigmoid function may be interpreted as the posterior
probability that the input x belongs to a certain class.
为什么sigmoid函数的输出被解释为输入属于某个类的概率?
答案 0 :(得分:2)
在神经网络中,输出层的S形激活函数在分类问题中以某种方式借用逻辑回归(其中经常使用标准sigmoid函数)。这假定结果的二项式概率模型。在此假设下,逻辑回归模型是量化X中预测变量中结果Y差异风险的相对变化的最大似然。逻辑回归模型的损失函数也与可能性有关。
关于the relationship between neural network and logistic regression的讨论还有很多。另请注意,sigmoid通常指的是形状(和限制),tanh is a also sigmoid function。
答案 1 :(得分:1)
如果网络输出为sigmoid(w.x),则强制输出进入区间[0-1]。所以它至少是概率的候选者。此外,如果您的网络上的损失函数是交叉熵损失而不是平方误差损失(如果您想将网络的输出解释为概率,这是一个非常吸引人的损失函数),权重的偏导数w.r.t.损失函数非常简单,这意味着它也很容易优化。
顺便说一句,一个带有sigmoid输出的无隐藏层神经网络被训练以最小化交叉熵损失是逻辑回归。