【发布时间】:2014-05-27 00:50:10
【问题描述】:
首先:我了解导数和链式法则。我数学不是很好,但我有一个理解。
许多关于反向传播的教程(让我们使用this 和this)使用梯度下降状态,我们使用传递函数(sigmoid 或 tanh)的导数来计算梯度,从而计算接下来的行进方式。在这些教程中,我将 (t-o)(1-o)(o) 视为计算输出神经元误差的公式,这似乎是误差计算 (1/2)(t-o)^2 * ( 1-o)。 (t = 目标,o = output_actual)
为什么我在任何地方都看不到传递函数的导数(假设为 sigmoid):e^x/((e^x + 1)^2)?或者当使用 tanh 作为传递函数时: sech^2(x) ... 其中 x = 加权输入?
另外,一些教程使用 (target - actual) , (target - actual)^2 [平方和 - 对负输出有用] 或平方误差函数:(1/2)(target - actual)^2。
传递函数的导数在哪里,使用哪个正确的误差公式?
【问题讨论】:
-
您是否寻找过“准牛顿法”?
-
不,但我会的。在开始进一步修改之前,我更关心的是了解最常见(也是最容易找到的)错误传播方法。
-
对不起,我认为这可以解释为什么你找不到 TF 的导数,因为伪牛顿法不需要它
标签: neural-network backpropagation derivative