我刚刚开始为神经网络编程。我目前正在研究反向传播 (BP) 神经网络的工作原理。虽然在 BP 网络中训练的算法非常简单,但我找不到任何关于该算法为何有效的文本。更具体地说,我正在寻找一些数学推理来证明在神经网络中使用 sigmoid 函数的合理性,以及是什么让它们模仿了几乎所有扔给它们的数据分布。
谢谢!
我刚刚开始为神经网络编程。我目前正在研究反向传播 (BP) 神经网络的工作原理。虽然在 BP 网络中训练的算法非常简单,但我找不到任何关于该算法为何有效的文本。更具体地说,我正在寻找一些数学推理来证明在神经网络中使用 sigmoid 函数的合理性,以及是什么让它们模仿了几乎所有扔给它们的数据分布。
谢谢!
sigmoid 函数在网络中引入了非线性。如果没有非线性激活函数,网络只能学习作为其输入线性组合的函数。结果被称为universal approximation theorem
or Cybenko theorem
,以 1989 年证明它的那位先生的名字命名。维基百科是一个很好的起点,它有一个指向原始论文的链接(虽然证明有点涉及)。使用 sigmoid 而不是其他东西的原因是它是连续且可微的,它的导数计算速度非常快(与具有相似属性的 tanh 的导数相反)并且范围有限(从 0至 1,独占)