From eacf622ac74de38ccdd18c97dc27d4521409d40e Mon Sep 17 00:00:00 2001 From: Alan Saul Date: Tue, 22 Oct 2013 13:51:16 +0100 Subject: [PATCH] Fixed breakage of dvar, tidied up to make more efficient --- GPy/likelihoods/noise_models/gaussian_noise.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/GPy/likelihoods/noise_models/gaussian_noise.py b/GPy/likelihoods/noise_models/gaussian_noise.py index 63d3a52a..83cc2f47 100644 --- a/GPy/likelihoods/noise_models/gaussian_noise.py +++ b/GPy/likelihoods/noise_models/gaussian_noise.py @@ -213,7 +213,7 @@ class Gaussian(NoiseDistribution): assert np.asarray(link_f).shape == np.asarray(y).shape e = y - link_f s_4 = 1.0/(self.variance**2) - dlik_dsigma = -0.5*self.N/self.variance + 0.5*s_4*np.square(e) + dlik_dsigma = -0.5*self.N/self.variance + 0.5*s_4*np.sum(np.square(e)) return np.sum(dlik_dsigma) # Sure about this sum? def dlogpdf_dlink_dvar(self, link_f, y, extra_data=None): @@ -232,8 +232,7 @@ class Gaussian(NoiseDistribution): :rtype: Nx1 array """ assert np.asarray(link_f).shape == np.asarray(y).shape - s_4 = 1./(self.variance**2) - #dlik_grad_dsigma = -np.dot(s_4*self.I, y) + np.dot(s_4*self.I, link_f) + s_4 = 1.0/(self.variance**2) dlik_grad_dsigma = -s_4*y + s_4*link_f return dlik_grad_dsigma