BackPropagation更新Weight問題
--------------------------------------------------------------------------
X s=Xv f(s) z=f(s)w f(z)
L0 ------------>L1 ------------->L2-------> pred_y
--------------------------------------------------------------------------
X =Input Data
y =real_y
L0網路第 1 層,Input層。
v =L0-L1的weights
L1網路第 2 層,隱藏層。with f(x) = 1/(1+np.exp(-x));
w =L1-L2的weights
L2網路第 3層,Output層。with f(x) = 1/(1+np.exp(-x));
r=LearningRate
--------------------------------------------------------------------------
在做BackPropagation時(簡化算式如下):
(1)▲w = (pred_y-y).f‘(z).f(s)
(2) ▲v = (pred_y-y).f‘(z).w.f‘(s).X
(3)w := w - r .▲w
(4)v := v - r .▲v
w是要用新的w還是舊的w ?
<方法一>用新的w,則程式順序為(1)(3)(2)(4)
<方法二>用舊的w,則程式順序為(1)(2)(3)(4)
(<方法一>和<方法二>,已有在for 迴圈下反覆運算,算出來的pred_y 一樣,但還是好奇到底是用哪個w)