mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-09 03:52:39 +02:00
stabilization of the Bernouolli
This commit is contained in:
parent
c7d0bd2204
commit
d9022c8cee
1 changed files with 3 additions and 2 deletions
|
|
@ -133,7 +133,7 @@ class Bernoulli(Likelihood):
|
||||||
"""
|
"""
|
||||||
#objective = y*np.log(inv_link_f) + (1.-y)*np.log(inv_link_f)
|
#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)
|
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):
|
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 = (y/inv_link_f) - (1.-y)/(1-inv_link_f)
|
||||||
#grad = np.where(y, 1./inv_link_f, -1./(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
|
return 1./denom
|
||||||
|
|
||||||
def d2logpdf_dlink2(self, inv_link_f, y, Y_metadata=None):
|
def d2logpdf_dlink2(self, inv_link_f, y, Y_metadata=None):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue