Fixed student_t approximation demo and changed convergence

critera to difference of f
This commit is contained in:
Alan Saul 2013-11-27 12:32:42 +00:00
parent c68fe7567a
commit 0f60fba125
2 changed files with 7 additions and 7 deletions

View file

@ -106,7 +106,7 @@ def student_t_approx():
corrupt_stu_t_likelihood = GPy.likelihoods.Laplace(Yc.copy(), t_distribution)
m = GPy.models.GPRegression(X, Yc.copy(), kernel4, likelihood=corrupt_stu_t_likelihood)
m.ensure_default_constraints()
m.constrain_positive('t_noise')
m.constrain_bounded('t_noise', 1e-6, 10.)
m.constrain_fixed('white', 1e-4)
m.randomize()
for a in range(1):

View file

@ -65,11 +65,10 @@ class Laplace(likelihood):
self.old_Ki_f = None
def predictive_values(self, mu, var, full_cov):
def predictive_values(self,mu,var,full_cov,**noise_args):
if full_cov:
raise NotImplementedError("Cannot make correlated predictions\
with an Laplace likelihood")
return self.noise_model.predictive_values(mu, var)
raise NotImplementedError, "Cannot make correlated predictions with an EP likelihood"
return self.noise_model.predictive_values(mu,var,**noise_args)
def log_predictive_density(self, y_test, mu_star, var_star):
"""
@ -209,6 +208,7 @@ class Laplace(likelihood):
- 0.5*self.f_Ki_f
+ 0.5*self.y_Wi_Ki_i_y
)
#print "Term, {}, {}, {}, {}, {}".format(self.lik, - 0.5*self.ln_B_det, + 0.5*self.ln_det_Wi_K, - 0.5*self.f_Ki_f, + 0.5*self.y_Wi_Ki_i_y)
#Convert to float as its (1, 1) and Z must be a scalar
self.Z = np.float64(Z_tilde)
@ -380,8 +380,8 @@ class Laplace(likelihood):
#difference = abs(new_obj - old_obj)
#old_obj = new_obj.copy()
#difference = np.abs(np.sum(f - f_old))
difference = np.abs(np.sum(Ki_f - old_Ki_f))
difference = np.abs(np.sum(f - f_old))
#difference = np.abs(np.sum(Ki_f - old_Ki_f))
old_Ki_f = Ki_f.copy()
i += 1