我刚开始为神经网络编程。我目前正在研究Backpropogation(BP)神经网络是如何工作的。虽然BP网络中的训练算法非常简单,但我无法找到有关算法工作原理的任何文本。更具体地说,我正在寻找一些数学推理来证明在神经网络中使用sigmoid函数是正确的,并且是什么使它们模仿几乎任何抛出它们的数据分布。
谢谢!
答案 0 :(得分:25)
sigmoid函数在网络中引入非线性。如果没有非线性激活函数,网络只能学习其输入的线性组合的函数。在1989年证明它的绅士之后,结果被称为universal approximation theorem
或Cybenko theorem
。Wikipedia是一个很好的起点,它与原始论文有关(证据是尽管有点参与)。之所以使用sigmoid而不是其他东西,是因为它是连续的和可微的,它的导数计算速度非常快(与tanh的导数相反,具有相似的属性)并且范围有限(从0开始) 1,独家)