trying to follow changes in likelihood

This commit is contained in:
Nicolò Fusi 2013-05-10 16:21:12 +02:00
parent ee5b05cd2d
commit 16757a298c

View file

@ -186,6 +186,12 @@ class opt_SGD(Optimizer):
self.model.likelihood._bias = Y.mean() self.model.likelihood._bias = Y.mean()
self.model.likelihood._scale = Y.std() self.model.likelihood._scale = Y.std()
self.model.likelihood.set_data(Y) self.model.likelihood.set_data(Y)
# self.model.likelihood.V = self.model.likelihood.Y*self.model.likelihood.precision
sigma = self.model.likelihood._variance
self.model.likelihood._variance = None # invalidate cache
self.model.likelihood._set_params(sigma)
j = self.subset_parameter_vector(self.x_opt, samples, shapes) j = self.subset_parameter_vector(self.x_opt, samples, shapes)
self.model.X = X[samples] self.model.X = X[samples]
@ -232,7 +238,6 @@ class opt_SGD(Optimizer):
else: else:
features = np.argsort(NLL) features = np.argsort(NLL)
import pdb; pdb.set_trace()
b = len(features)/self.batch_size b = len(features)/self.batch_size
features = [features[i::b] for i in range(b)] features = [features[i::b] for i in range(b)]
NLL = [] NLL = []
@ -241,6 +246,11 @@ class opt_SGD(Optimizer):
self.model.D = len(j) self.model.D = len(j)
self.model.likelihood.D = len(j) self.model.likelihood.D = len(j)
self.model.likelihood.set_data(Y[:, j]) self.model.likelihood.set_data(Y[:, j])
# self.model.likelihood.V = self.model.likelihood.Y*self.model.likelihood.precision
sigma = self.model.likelihood._variance
self.model.likelihood._variance = None # invalidate cache
self.model.likelihood._set_params(sigma)
if missing_data: if missing_data:
shapes = self.get_param_shapes(N, Q) shapes = self.get_param_shapes(N, Q)