(Z, Y, Yhat, V)
| 73 | return X.T.dot(dZ) |
| 74 | |
| 75 | def derivative_b(Z, Y, Yhat, V): |
| 76 | # dZ = np.outer(Y - Yhat, V) * (1 - Z * Z) # this is for tanh activation |
| 77 | dZ = np.outer(Y - Yhat, V) * (Z > 0) # this is for relu activation |
| 78 | return dZ.sum(axis=0) |
| 79 | |
| 80 | def update(X, Z, Y, Yhat, W, b, V, c, learning_rate=1e-4): |
| 81 | gV = derivative_V(Z, Y, Yhat) |