def log_posterior(x, t): """An example 2D intractable distribution: a Gaussian evaluated at zero with a Gaussian prior on the log-variance.""" mu, log_sigma = x[:, 0], x[:, 1] prior = norm.logpdf(log_sigma, 0, 1.35) likelihood = norm.logpdf(mu, 0, np.exp(log_sigma)) return prior + likelihood
def objective(params): gp_params, latents = unpack_params(params) gp_likelihood = sum([log_marginal_likelihood(gp_params[i], latents, data[:, i]) for i in range(data_dimension)]) latent_prior_likelihood = np.sum(norm.logpdf(latents)) return -gp_likelihood - latent_prior_likelihood
def logprob(weights, inputs, targets): log_prior = np.sum(norm.logpdf(weights, 0, weight_scale)) preds = predictions(weights, inputs) log_lik = np.sum(norm.logpdf(preds, targets, noise_scale)) return log_prior + log_lik