Fixed bug in product kernel gradients diag wrt to X

This commit is contained in:
Alan Saul 2014-03-24 10:13:50 +00:00
parent ed2aaab4bb
commit cbf58d4920
4 changed files with 22 additions and 11 deletions

View file

@ -8,6 +8,7 @@ import sys
verbose = 0
np.random.seed(50)
class Kern_check_model(GPy.core.Model):
@ -243,6 +244,17 @@ class KernelGradientTestsContinuous(unittest.TestCase):
k.randomize()
self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose))
def test_Prod2(self):
k = (GPy.kern.RBF(2, active_dims=[0,4]) * GPy.kern.Linear(self.D))
k.randomize()
self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose))
def test_Prod3(self):
k = GPy.kern.Matern32(2, active_dims=[2,3]) * (GPy.kern.RBF(2, active_dims=[0,4]) + GPy.kern.Linear(self.D))
k = (GPy.kern.RBF(2, active_dims=[0,4]) * GPy.kern.Linear(self.D))
k.randomize()
self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose))
def test_Add(self):
k = GPy.kern.Matern32(2, active_dims=[2,3]) + GPy.kern.RBF(2, active_dims=[0,4]) + GPy.kern.Linear(self.D)
k += GPy.kern.Matern32(2, active_dims=[2,3]) + GPy.kern.RBF(2, active_dims=[0,4]) + GPy.kern.Linear(self.D)

View file

@ -59,9 +59,10 @@ class MiscTests(unittest.TestCase):
#np.testing.assert_almost_equal(mu_hat, mu)
def test_likelihood_replicate(self):
tol = 1e-5
m = GPy.models.GPRegression(self.X, self.Y)
m2 = GPy.models.GPRegression(self.X, self.Y)
np.testing.assert_equal(m.log_likelihood(), m2.log_likelihood())
np.testing.assert_equal(m.log_likelihood(), m2.log_likelihood(), tol=tol)
m.randomize()
m2[:] = m[''].values()
np.testing.assert_equal(m.log_likelihood(), m2.log_likelihood())