Perceptron for AND Gate - Python Code
import numpy as np
def step(x):
return 1 if x>=0 else 0
def train(X,y):
w=np.zeros(X.shape[1])
b=0
for _ in range(5):
print(f'Epoch : {_}')
for i in range(len(X)):
z=np.dot(X[i],w)+b
y_pred=step(z)
error=y[i]-y_pred
w+=error*X[i]
b+=error
print(f'Weights : {w}, Bias : {b}')
return w,b
def predict(X,w,b):
return [step(np.dot(x,w)+b) for x in X]
X=np.array([[0,0], [0,1], [1,0], [1,1]])
y=np.array([0,0,0,1])
w,b=train(X,y)
print("Prediction:", predict(X,w,b))
Comments