Advertisement
Guest User

Untitled

a guest
Apr 8th, 2020
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.95 KB | None | 0 0
  1. def compute_cost(X, Y, W, b, lambd):
  2.     P, H = evaluate_classifier2(X, W, b)
  3.     n = X.shape[1]
  4.  
  5.     loss = 0
  6.     for i in range(n):
  7.         loss -= np.log( Y[:, i:i+1].T @ P[:, i:i+1] )
  8.     loss = np.asscalar(loss) / n
  9.  
  10.     regularization = 0
  11.     for i in range(np.shape(W)[0]):
  12.         regularization += lambd * np.sum(W[i]**2)
  13.    
  14.     J = loss + regularization
  15.     return J#, loss
  16.  
  17. def compute_cost_old(X,Y,W,b,lambd,return_loss=False):
  18.     p = evaluate_classifier(X,W,b)
  19.     reg_term =  lambd * np.sum( [np.sum(np.square(W_i)) for W_i in W] )
  20.     loss = 0
  21.     #print('\ncomputing cost:\nP shape: {}'.format(p.shape))
  22.     for i in range(X.shape[1]):
  23.             loss += - np.log(Y[:,i:i+1].T @ p[:,i:i+1])
  24.     loss = np.asscalar(loss)
  25.     loss /= X.shape[1]
  26.     cost = loss + reg_term
  27.     #data_size = X.shape[1] if len(X.shape) == 2 else 1
  28.  
  29.     if return_loss:
  30.             return cost.item(0), loss.item(0)
  31.     return cost.item(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement