神经网络反向传播算法的推导
Derivation of the Backpropagation Algorithm for Neural Networks
也许这是一个愚蠢的问题,但这个疑问确实让我无法理解反向传播。
所以我正在阅读并试图理解 Backpropagation 维基百科文章。它声明差异为 E=(t-y)^2
,然后:
However, the output of a neuron depends on the weighted sum of all its inputs:
y=x1w1 + x2w2
不应该 y=phi(x1w1 + x2w2)
吗?
如果 y = phi(x1w1 + x2w2)
不是差异与权重的关系图,应该是一种阶梯函数,其中一段权重返回最小值,其余部分则不返回(因为权重的某种组合 returns 0
和另一个 1
,并且只有一个答案是正确的)
好的,我明白你为什么这么想了,但是 'y' 是输入总和,输出仅取决于它,如果你想找到输出,它是很简单,你只需要通过激活函数 phi 应用它,在这种情况下我认为我们应该使用 phi 因为逻辑函数(S 形曲线)在我们绘制表示随时间变化的事物的图形时使事情更容易理解。
所以我们来看看你说的函数y=phi(x1w1 + x2w2),我们知道phi=1/(1+e^(-z)),所以我们可以把两者混合找到输出的方程式(o):
o = 1/(1+e^(-(x1*w1+x2*w2))).
完美,现在如果你想知道这是否是阶梯函数,我们可以应用一些微积分并使用连续性定理。
激活函数是可微分的(它是一个连续函数)以确保您可以在需要时找到错误的偏导数。知道这一点,我们可以说因为 phi 是连续的并且 (x1*w1+x2*w2) 是一个多项式函数(也是连续的)所以我们的最终函数 'o' 它是一个连续函数。
也许这是一个愚蠢的问题,但这个疑问确实让我无法理解反向传播。
所以我正在阅读并试图理解 Backpropagation 维基百科文章。它声明差异为 E=(t-y)^2
,然后:
However, the output of a neuron depends on the weighted sum of all its inputs:
y=x1w1 + x2w2
不应该 y=phi(x1w1 + x2w2)
吗?
如果 y = phi(x1w1 + x2w2)
不是差异与权重的关系图,应该是一种阶梯函数,其中一段权重返回最小值,其余部分则不返回(因为权重的某种组合 returns 0
和另一个 1
,并且只有一个答案是正确的)
好的,我明白你为什么这么想了,但是 'y' 是输入总和,输出仅取决于它,如果你想找到输出,它是很简单,你只需要通过激活函数 phi 应用它,在这种情况下我认为我们应该使用 phi 因为逻辑函数(S 形曲线)在我们绘制表示随时间变化的事物的图形时使事情更容易理解。
所以我们来看看你说的函数y=phi(x1w1 + x2w2),我们知道phi=1/(1+e^(-z)),所以我们可以把两者混合找到输出的方程式(o): o = 1/(1+e^(-(x1*w1+x2*w2))).
完美,现在如果你想知道这是否是阶梯函数,我们可以应用一些微积分并使用连续性定理。
激活函数是可微分的(它是一个连续函数)以确保您可以在需要时找到错误的偏导数。知道这一点,我们可以说因为 phi 是连续的并且 (x1*w1+x2*w2) 是一个多项式函数(也是连续的)所以我们的最终函数 'o' 它是一个连续函数。