為什么算出來的都是1,可視化也都是1
可視化結構是這樣的,print(z)全是1,將x,y輸出發(fā)現(xiàn)并沒有錯誤,很疑惑,求教
神經元的代碼是這樣:
class?Perceptron(object): ????def?__init__(self,eta=0.01,n_iter=10): ????????self.eta=eta ????????self.n_iter=n_iter ????????pass ????def?net_input(self,X): ????????return?np.dot(X,self.w_[1:])+self.w_[0] ????????pass ????def?predict(self,X): ????????return?np.where(self.net_input(X)>=0.0,1,-1) ????????pass ????def?fit(self,x,y): ????????self.w_=np.zeros(1+x.shape[1]) ????????self.errors_=[] ????????for?_?in?range(self.n_iter): ????????????errors=0 ????????????for?xi?,target?in?zip?(x,y): ????????????????update=self.eta*(target-self.predict(xi)) ????????????????self.w_[1:]+=update*xi ????????????????self.w_[0]+=update ????????????????errors+=int(update?!=0.0) ????????????????self.errors_.append(errors) ????????????????pass ????????????pass ????????pass
訓練的代碼是這樣:
ppn=Perceptron(eta=0.01,n_iter=10) ppn.fit(x,y)
2017-11-17
看看你的輸入數(shù)據(jù)