x = np.array([[3,3],[4,3],[1,1]])
y = np.array([1,1,-1])
alfa = np.zeros(3)
alfa
array([0., 0., 0.])
w = np.array([0.,0.])
b = 0
lr = 1
# for i in range(len(y)):
# w += alfa[i] * y[i] * x[i]
def foo(alfa,y,w):
for i in range(len(y)):
w += alfa[i] * y[i] * x[i]
# print(w)
return w
w = foo(alfa,y,w)
w
array([0., 0.])
count =20
tag = 0
print('alfa={},b={}'.format(alfa,b))
while count > 1:
tag += 1
print('第{}次疊代'.format(tag))
w = np.array([0.,0.])
# print('w={},b={}'.format(w,b))
w = foo(alfa,y,w)
print('w={},b={}'.format(w,b))
count -= 1
for i in range(len(y)):
print(i)
if y[i]*(w.dot(x[i]) + b) <= 0:
alfa[i] += 1
b += y[i]
print('error classify: '+str(i))
print('alfa={},b={}'.format(alfa,b))
break