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

Popular posts from this blog

HSDPA (High-Speed Downlink Packet Access)

Random Forest - Python Code