ann.py 553 B

1234567891011121314151617181920
  1. import numpy as np
  2. x = np.array([[0,0,1], [0,1,1], [1,0,1], [1,1,1]])
  3. y = np.array([[0,0,1,1]]).T
  4. weights = np.random.rand((3, 1))
  5. def train():
  6. for iteration in range(10000):
  7. for p in range(4):
  8. z = np.dot(x[p], weights)
  9. sigmoid = 1/(1+np.exp(-z))
  10. error = y[p] - sigmoid
  11. sigmoidDerivative = sigmoid * (1 - sigmoid)
  12. delta = error * sigmoidDerivative
  13. dW = (delta * x[p])
  14. dW = np.array([dW]).T
  15. weights = weights + dW
  16. print("weight", weights)