From 2724e7d4769407b6839bef2e5970554c334d1121 Mon Sep 17 00:00:00 2001 From: Zhenwen Dai Date: Thu, 13 Nov 2014 10:58:26 +0000 Subject: [PATCH 1/3] ssrbf bug fix --- GPy/core/parameterization/variational.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GPy/core/parameterization/variational.py b/GPy/core/parameterization/variational.py index bb7678ff..538f9869 100644 --- a/GPy/core/parameterization/variational.py +++ b/GPy/core/parameterization/variational.py @@ -169,7 +169,7 @@ class SpikeAndSlabPosterior(VariationalPosterior): def gamma_probabilities(self): prob = np.zeros_like(param_to_array(self.gamma)) prob[self.gamma>-710] = 1./(1.+np.exp(-self.gamma[self.gamma>-710])) - prob1 = np.zeros_like(param_to_array(self.gamma)) + prob1 = -np.zeros_like(param_to_array(self.gamma)) prob1[self.gamma<710] = 1./(1.+np.exp(self.gamma[self.gamma<710])) return prob, prob1 From bee1bc360e5457756bd3639cb303675b51a183a3 Mon Sep 17 00:00:00 2001 From: Zhenwen Dai Date: Thu, 13 Nov 2014 11:44:01 +0000 Subject: [PATCH 2/3] ssrbf bug fix --- GPy/core/parameterization/variational.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GPy/core/parameterization/variational.py b/GPy/core/parameterization/variational.py index 538f9869..7cc5c99a 100644 --- a/GPy/core/parameterization/variational.py +++ b/GPy/core/parameterization/variational.py @@ -177,8 +177,8 @@ class SpikeAndSlabPosterior(VariationalPosterior): def gamma_log_prob(self): loggamma = param_to_array(self.gamma).copy() loggamma[loggamma>-40] = -np.log1p(np.exp(-loggamma[loggamma>-40])) - loggamma1 = param_to_array(self.gamma).copy() - loggamma1[loggamma1<40] = -np.log1p(np.exp(loggamma1[loggamma1<40])) + loggamma1 = -param_to_array(self.gamma).copy() + loggamma1[loggamma1>-40] = -np.log1p(np.exp(-loggamma1[loggamma1>-40])) return loggamma,loggamma1 def set_gradients(self, grad): From 58a778225d07b2d8a20adbf8e79a249c6cba1920 Mon Sep 17 00:00:00 2001 From: Zhenwen Dai Date: Thu, 13 Nov 2014 17:49:59 +0000 Subject: [PATCH 3/3] bug fix for infer_newX --- GPy/inference/latent_function_inference/inferenceX.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GPy/inference/latent_function_inference/inferenceX.py b/GPy/inference/latent_function_inference/inferenceX.py index 66fbcd4d..949562ee 100644 --- a/GPy/inference/latent_function_inference/inferenceX.py +++ b/GPy/inference/latent_function_inference/inferenceX.py @@ -115,7 +115,7 @@ class InferenceX(Model): else: self.dL_dpsi2 = beta*(output_dim*self.posterior.woodbury_inv - np.einsum('md,od->mo',wv, wv))/2. self.dL_dpsi1 = beta*np.dot(self.Y, wv.T) - self.dL_dpsi0 = -beta/2.* np.ones(self.Y.shape[0]) + self.dL_dpsi0 = -beta/2.*output_dim* np.ones(self.Y.shape[0]) def parameters_changed(self): if self.uncertain_input: