Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.94 KB | None | 0 0
  1.         for ep in range(eps):
  2.  
  3.             print('Ep {:3d}/{:3d}...'.format(ep+1,eps))
  4.  
  5.             alpha = alpha * np.exp(-0.2 * ep)
  6.            
  7.             for j in range(count):#random.permutation(count):
  8.                 x = inputs[:, j]
  9.                 y = []
  10.                 for i in range(self.dim_out):
  11.                     #print(j)
  12.                     #print(y[j])
  13.                     y_i = self.weights[i] @ x + (0 if i == 0 else self.u[i][:i] @ np.array(y).T)
  14.  
  15.                     self.weights[i] += alpha * y_i * (x - y_i * self.weights[i])
  16.                     norm = np.linalg.norm(self.weights[i])
  17.                     if norm != 0:
  18.                         self.weights[i] /= norm
  19.  
  20.                     self.u[i] += (- alpha * y_i * (y + y_i * self.u[i]) if i > 0 else 0)
  21.                     norm = np.linalg.norm(self.u[i])
  22.                     if norm != 0:
  23.                         self.u[i] /= norm
  24.  
  25.                 y.append(y_i)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement