diff --git a/GPy/likelihoods/bernoulli.py b/GPy/likelihoods/bernoulli.py index 817c0687..35015b2d 100644 --- a/GPy/likelihoods/bernoulli.py +++ b/GPy/likelihoods/bernoulli.py @@ -133,7 +133,7 @@ class Bernoulli(Likelihood): """ #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(p) + return np.log(np.clip(p, 1e-6 ,np.inf)) def dlogpdf_dlink(self, inv_link_f, y, Y_metadata=None): """ @@ -152,7 +152,8 @@ class Bernoulli(Likelihood): """ #grad = (y/inv_link_f) - (1.-y)/(1-inv_link_f) #grad = np.where(y, 1./inv_link_f, -1./(1-inv_link_f)) - denom = np.where(y, inv_link_f, -(1-inv_link_f)) + ff = np.clip(inv_link_f, 1e-6, 1-1e-6) + denom = np.where(y, ff, -(1-ff)) return 1./denom def d2logpdf_dlink2(self, inv_link_f, y, Y_metadata=None):