code: def logpdf_link(self, inv_link_f, y, Y_metadata=None):
          
          #objective = y*np.log(inv_link_f) + (1.-y)*np.log(inv_link_f)
          p = np.where(y==1, inv_link_f, 1.-inv_link_f)
          return np.log(np.clip(p, 1e-9 ,np.inf))
docs: Log Likelihood function given inverse link of f.
  
          .. math::
              \\ln p(y_{i}|\\lambda(f_{i})) = y_{i}\\log\\lambda(f_{i}) + (1-y_{i})\\log (1-f_{i})
  
          :param inv_link_f: latent variables inverse link of f.
          :type inv_link_f: Nx1 array
          :param y: data
          :type y: Nx1 array
          :param Y_metadata: Y_metadata not used in bernoulli
          :returns: log likelihood evaluated at points inverse link of f.
          :rtype: float