mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-18 13:55:14 +02:00
Fixed student_t approximation demo and changed convergence
critera to difference of f
This commit is contained in:
parent
c68fe7567a
commit
0f60fba125
2 changed files with 7 additions and 7 deletions
|
|
@ -106,7 +106,7 @@ def student_t_approx():
|
||||||
corrupt_stu_t_likelihood = GPy.likelihoods.Laplace(Yc.copy(), t_distribution)
|
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 = GPy.models.GPRegression(X, Yc.copy(), kernel4, likelihood=corrupt_stu_t_likelihood)
|
||||||
m.ensure_default_constraints()
|
m.ensure_default_constraints()
|
||||||
m.constrain_positive('t_noise')
|
m.constrain_bounded('t_noise', 1e-6, 10.)
|
||||||
m.constrain_fixed('white', 1e-4)
|
m.constrain_fixed('white', 1e-4)
|
||||||
m.randomize()
|
m.randomize()
|
||||||
for a in range(1):
|
for a in range(1):
|
||||||
|
|
|
||||||
|
|
@ -65,11 +65,10 @@ class Laplace(likelihood):
|
||||||
|
|
||||||
self.old_Ki_f = None
|
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:
|
if full_cov:
|
||||||
raise NotImplementedError("Cannot make correlated predictions\
|
raise NotImplementedError, "Cannot make correlated predictions with an EP likelihood"
|
||||||
with an Laplace likelihood")
|
return self.noise_model.predictive_values(mu,var,**noise_args)
|
||||||
return self.noise_model.predictive_values(mu, var)
|
|
||||||
|
|
||||||
def log_predictive_density(self, y_test, mu_star, var_star):
|
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.f_Ki_f
|
||||||
+ 0.5*self.y_Wi_Ki_i_y
|
+ 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
|
#Convert to float as its (1, 1) and Z must be a scalar
|
||||||
self.Z = np.float64(Z_tilde)
|
self.Z = np.float64(Z_tilde)
|
||||||
|
|
@ -380,8 +380,8 @@ class Laplace(likelihood):
|
||||||
|
|
||||||
#difference = abs(new_obj - old_obj)
|
#difference = abs(new_obj - old_obj)
|
||||||
#old_obj = new_obj.copy()
|
#old_obj = new_obj.copy()
|
||||||
#difference = np.abs(np.sum(f - f_old))
|
difference = np.abs(np.sum(f - f_old))
|
||||||
difference = np.abs(np.sum(Ki_f - old_Ki_f))
|
#difference = np.abs(np.sum(Ki_f - old_Ki_f))
|
||||||
old_Ki_f = Ki_f.copy()
|
old_Ki_f = Ki_f.copy()
|
||||||
i += 1
|
i += 1
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue