代码细节讨论
for _ in range(self.n_iter):
error=0
dw=np.zeros(1+X.shape[1])
for xi,target in zip(X,y):
update=self.eta*(target-self.predict(xi))
dw[1:]+=update*xi
dw[0]+=update
error+=int(update!=0)
pass
self.W+=dw
self.errors.append(error)
这段代码中,在进行10次迭代的过程中,每次迭代的时候都把权重重新置为 0 。
我觉得有点问题。(下划线部分)
如果每次迭代都 从新 将权重置为0,那么每次迭代都是一样的,是没有意义的。
如果每次迭代后 权重 被带到下一次循环中,那么在经过10次迭代后得到的权重会更加的准确。