Advertisement
Guest User

Untitled

a guest
Apr 25th, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.63 KB | None | 0 0
  1. def ComputeGradients(X, Y, P, W, _lambda):
  2.     grad_W = np.zeros([K,d]);
  3.     grad_b = np.zeros([K,1]);
  4.     n = X.shape[1];
  5.  
  6.     for i in range(n):
  7.         g = np.reshape(-Y[:, i] + P[:, i], (10, 1));
  8.         grad_W += g.dot(np.reshape(X[:, i], (1, d)));  
  9.         grad_b += g;
  10.  
  11.     grad_W /= n;
  12.     grad_b /= n;
  13.     grad_W += 2 * _lambda * W;
  14.  
  15.     return grad_W, grad_b;
  16.  
  17.  
  18. def ComputeCost(X, Y, W, b, _lambda):
  19.     n = X.shape[1];
  20.     crossLoss = 0;
  21.     regLoss = 0;
  22.  
  23.     regLoss = _lambda * np.sum(W * W);
  24.  
  25.     for i in range(n):
  26.         crossLoss -= np.log(Y.T[i].dot(forwardRun(X[:, i], W, np.reshape(b, (K,)).T)));
  27.     crossLoss /= float(n);
  28.  
  29.     return (crossLoss + regLoss);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement