import numpy as np;
import matplotlib.pyplot as plt
sample_x = np.array([[3,3],[4,3],[1,1]])
sample_y = np.array([1,1,-1])
w = np.array([0,0])
b = 0
Eta = 1
for i in range(0,100):
flag = -1
num = -1
for j in range(len(sample_x)):
if sample_y[j]!=np.sign(np.dot(w,sample_x[0])+b):
num = j
break
if num == -1:
break
w = w + Eta*sample_x[num]*sample_y[num]
b = b +Eta*sample_y[num]
x_label = [0,8]
y_label = [0,8]
for i in range(len(x_label)):
y_label[i] = (-w[0]*x_label[i]-b)/w[1]
plt.plot(x_label, y_label)
print("w = ",w,"and b = ",b)
for i in range (len(sample_x)):
if sample_y[i] == -1:
plt.plot(sample_x[i][0],sample_x[i][1],'ro')
if sample_y[i] == 1:
plt.plot(sample_x[i][0],sample_x[i][1],'bo')
