Vanilla Gaussian GP Controller¶
The GaussianGPController provides the user with a standard GP model with no extra features.
- class vanguard.vanilla.GaussianGPController(train_x, train_y, kernel_class, y_std, mean_class=<class 'gpytorch.means.constant_mean.ConstantMean'>, likelihood_class=<class 'gpytorch.likelihoods.gaussian_likelihood.FixedNoiseGaussianLikelihood'>, marginal_log_likelihood_class=<class 'gpytorch.mlls.exact_marginal_log_likelihood.ExactMarginalLogLikelihood'>, optimiser_class=<class 'torch.optim.adam.Adam'>, smart_optimiser_class=<class 'vanguard.optimise.optimiser.GreedySmartOptimiser'>, rng=None, **kwargs)[source]¶
Bases:
GPControllerBase class for implementing standard GP regression with flexible prior kernel and mean functions.
This is the best starting point for users, containing many sensible default values. The standard reference is [Rasmussen06].
- Parameters:
train_x (
Union[Tensor,ndarray[tuple[Any,...],dtype[floating]]]) – (n_samples, n_features) The inputs (or the observed values).train_y (
Union[Tensor,ndarray[tuple[Any,...],dtype[floating]],ndarray[tuple[Any,...],dtype[integer]]]) – (n_samples,) or (n_samples, 1) The responsive values.kernel_class (
type[Kernel]) – An uninstantiated subclass ofgpytorch.kernels.Kernel.y_std (
Union[Tensor,ndarray[tuple[Any,...],dtype[floating]],float]) –The observation noise standard deviation, one of:
mean_class (
type[Mean]) – An uninstantiated subclass ofgpytorch.means.Meanto use in the prior GP. Defaults togpytorch.means.ConstantMean.likelihood_class (
type[Likelihood]) – An uninstantiated subclass ofgpytorch.likelihoods.Likelihood. The default isgpytorch.likelihoods.FixedNoiseGaussianLikelihood.marginal_log_likelihood_class (
type[MarginalLogLikelihood]) – An uninstantiated subclass of of an MLL fromgpytorch.mlls. The default isgpytorch.mlls.ExactMarginalLogLikelihood.optimiser_class (
type[Optimizer]) – An uninstantiatedtorch.optim.Optimizerclass used for gradient-based learning of hyperparameters. The default istorch.optim.Adam.smart_optimiser_class (
type[SmartOptimiser]) – An uninstantiatedSmartOptimiserclass used to wrap theoptimiser_classand enable early stopping.rng (
Optional[Generator]) – Generator instance used to generate random numbers.kwargs (
Any) – For a complete list, seeGPController.
- __init__(train_x, train_y, kernel_class, y_std, mean_class=<class 'gpytorch.means.constant_mean.ConstantMean'>, likelihood_class=<class 'gpytorch.likelihoods.gaussian_likelihood.FixedNoiseGaussianLikelihood'>, marginal_log_likelihood_class=<class 'gpytorch.mlls.exact_marginal_log_likelihood.ExactMarginalLogLikelihood'>, optimiser_class=<class 'torch.optim.adam.Adam'>, smart_optimiser_class=<class 'vanguard.optimise.optimiser.GreedySmartOptimiser'>, rng=None, **kwargs)[source]¶
Initialise self.
- Parameters:
train_x (
Union[Tensor,ndarray[tuple[Any,...],dtype[floating]]])train_y (
Union[Tensor,ndarray[tuple[Any,...],dtype[floating]],ndarray[tuple[Any,...],dtype[integer]]])y_std (
Union[Tensor,ndarray[tuple[Any,...],dtype[floating]],float])likelihood_class (
type[Likelihood])marginal_log_likelihood_class (
type[MarginalLogLikelihood])smart_optimiser_class (
type[SmartOptimiser])kwargs (
Any)