import numpy as np
def Sigmoid( v ):
y = 1 / ( 1 + np.exp( -v ) )
return y
def TrainWByBP( W1, W2, X, D ):
alpha = 0.9
[ M, N ] = np.shape( X )
for i in range( M ):
#Forword propagation
x = np.array( X[i] )
d = D[i]
v1 = np.dot( W1, x )
y1 = Sigmoid( v1 )
v = np.dot( W2, y1 )
y = Sigmoid( v )
#Back propagation
e = d - y