神经网络:如何计算一个单元的误差

Neural network: How to calculate the error for a unit

我正在尝试解决 this 试卷中的第 26 题(该考试是 2002 年的,我没有被打分!)

这是确切的问题:

答案是B

有人能指出我哪里错了吗?

我从上一题中算出 I1 为 0.982。

激活函数是 sigmoid。那么总和应该是,对于输出 1:

d1 = f(Ik)[1-f(Ik)](Tk-Zk)

来自问题:

T1 = 0.58
Z1 = 0.83
T1 - Z1 = -0.25
sigmoid(I1) = sigmoid(0.982) = 0.728
1-sigmoid(I1) = 1-0.728 = 0.272

所以把这些放在一起:

d1 = (0.728)(0.272)(-0.25)
d1 = -0.049

但答案应该是d1 = -0.0353

谁能告诉我哪里出错了?

编辑 1:我试图逆向工作以了解情况,但我仍然卡住了。

我说:

d1 = f(Ik)[1-f(Ik)](Tk-Zk)
-0.0353 = f'(Ik)(-0.25) (where I know -0.0353 is the right answer, and -0.25 is Tk - Zk)
0.1412 = f'(Ik)
0.1412 = f(Ik)[1-f(Ik)]
0.1412 = sigmoid(x).(1-sigmoid(x))

...但后来我卡住了,如果有人有想法的话

问题是,您从上一个问题中得到的 I₁ 与您完成此任务所需的 I₁ 不同

I₁ 的值根据输入值(对于本题不同)而变化!

为了解决这个问题,您可以使用 f(Iₖ) = zₖ:

δₖ = f(Iₖ)·[1 - f(Iₖ)]·(tₖ - zₖ)

= zₖ·[1 - zₖ]·(tₖ - zₖ)

→ δ₁ = 0.83·[1 - 0.83]·(-0.25) = -0.2075·0.17 = -0.035275 ≈ -0.0353

→ δ₂ = 0.26·[1 - 0.26]·(0.70 - 0.26) ≈ -0.0847

→ δ₃ = 0.56·[1 - 0.56]·(0.20 - 0.56) ≈ -0.0887