神经网络:如何计算一个单元的误差
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
我正在尝试解决 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