Exemple #1
0
def wrapper_grad_posterior_mean_bq(point,
                                   self,
                                   var_noise=None,
                                   mean=None,
                                   parameters_kernel=None,
                                   n_samples_parameters=0):
    """
    Wrapper of the gradient of the posterior mean of a bq model
    :param point: np.array(k)
    :param self: bayesian-quadrature instance
    :param n_samples_parameters: int
    :return: np.array(k)
    """

    if n_samples_parameters == 0:
        val = self.grad_posterior_mean(point,
                                       var_noise=var_noise,
                                       mean=mean,
                                       parameters_kernel=parameters_kernel)
    else:
        val = BayesianEvaluations.evaluate(self.grad_posterior_mean, point,
                                           self.gp, n_samples_parameters,
                                           None)[0]

    return val
Exemple #2
0
def wrapper_objective_acquisition_function(point,
                                           self,
                                           n_samples_parameters=0,
                                           *params):
    """
    Wrapper of an acquisition function that's not SBO or KG.

    :param point: np.array(n)
    :param self: acquisition function instance
    :param n_samples_parameters: int
    :param params: additional parameters of the function
    :return: float
    """

    point = point.reshape((1, len(point)))

    if n_samples_parameters == 0:
        value = self.evaluate(point, *params)
    else:
        if self.gp.name_model == BAYESIAN_QUADRATURE:
            gp_model = self.gp.gp
        else:
            gp_model = self.gp

        value = BayesianEvaluations.evaluate(self.evaluate, point, gp_model,
                                             n_samples_parameters, None,
                                             *params)[0]

    return value
Exemple #3
0
def wrapper_gradient_posterior_mean_gp_model(point,
                                             self,
                                             n_samples_parameters=0,
                                             *params):
    point = point.reshape((1, len(point)))
    if n_samples_parameters == 0:
        value = self.gradient_posterior_parameters(point,
                                                   *params,
                                                   only_mean=True)['mean']
    else:

        def evaluate(point, var_noise=None, mean=None, parameters_kernel=None):
            return self.gradient_posterior_parameters(point,
                                                      var_noise,
                                                      mean,
                                                      parameters_kernel,
                                                      only_mean=True)['mean']

        value = BayesianEvaluations.evaluate(evaluate, point, self,
                                             n_samples_parameters, None,
                                             *params)[0]
    return value