mxfusion.modules.gp_modules.gp_regression

Members

class mxfusion.modules.gp_modules.gp_regression.GPRegressionLogPdf(model, posterior, observed)

Bases: mxfusion.inference.variational.VariationalInference

The method to compute the logarithm of the probability density function of a Gaussian process model with Gaussian likelihood.

compute(F, variables)

The abstract method for the computation of the inference algorithm

Parameters:
  • F (Python module) – the execution context (mxnet.ndarray or mxnet.symbol)
  • variables – the set of MXNet arrays that holds the values of

variables at runtime. :type variables: {str(UUID): MXNet NDArray or MXNet Symbol} :returns: the outcome of the inference algorithm :rtype: mxnet.ndarray.ndarray.NDArray or mxnet.symbol.symbol.Symbol

class mxfusion.modules.gp_modules.gp_regression.GPRegressionSampling(model, observed, num_samples=1, target_variables=None, rand_gen=None)

Bases: mxfusion.inference.inference_alg.SamplingAlgorithm

The method for drawing samples from the prior distribution of a Gaussian process regression model.

compute(F, variables)

The abstract method for the computation of the inference algorithm.

If inference algorithm is used for gradient based optimizations, it should return two values. The first for the loss function, the second the gradient of the loss function.

Parameters:
  • F (Python module) – the execution context (mxnet.ndarray or mxnet.symbol)
  • variables – the set of MXNet arrays that holds the values of

variables at runtime. :type variables: {str(UUID): MXNet NDArray or MXNet Symbol} :returns: the outcome of the inference algorithm :rtype: mxnet.ndarray.ndarray.NDArray or mxnet.symbol.symbol.Symbol. If gradient based, will return two values. The first the loss function, the second the gradient of the loss function.

class mxfusion.modules.gp_modules.gp_regression.GPRegressionMeanVariancePrediction(model, posterior, observed, noise_free=True, diagonal_variance=True)

Bases: mxfusion.inference.inference_alg.SamplingAlgorithm

compute(F, variables)

The abstract method for the computation of the inference algorithm.

If inference algorithm is used for gradient based optimizations, it should return two values. The first for the loss function, the second the gradient of the loss function.

Parameters:
  • F (Python module) – the execution context (mxnet.ndarray or mxnet.symbol)
  • variables – the set of MXNet arrays that holds the values of

variables at runtime. :type variables: {str(UUID): MXNet NDArray or MXNet Symbol} :returns: the outcome of the inference algorithm :rtype: mxnet.ndarray.ndarray.NDArray or mxnet.symbol.symbol.Symbol. If gradient based, will return two values. The first the loss function, the second the gradient of the loss function.

class mxfusion.modules.gp_modules.gp_regression.GPRegressionSamplingPrediction(model, posterior, observed, rand_gen=None, noise_free=True, diagonal_variance=True, jitter=0.0)

Bases: mxfusion.inference.inference_alg.SamplingAlgorithm

compute(F, variables)

The abstract method for the computation of the inference algorithm.

If inference algorithm is used for gradient based optimizations, it should return two values. The first for the loss function, the second the gradient of the loss function.

Parameters:
  • F (Python module) – the execution context (mxnet.ndarray or mxnet.symbol)
  • variables – the set of MXNet arrays that holds the values of

variables at runtime. :type variables: {str(UUID): MXNet NDArray or MXNet Symbol} :returns: the outcome of the inference algorithm :rtype: mxnet.ndarray.ndarray.NDArray or mxnet.symbol.symbol.Symbol. If gradient based, will return two values. The first the loss function, the second the gradient of the loss function.

class mxfusion.modules.gp_modules.gp_regression.GPRegression(X, kernel, noise_var, mean_func=None, rand_gen=None, dtype=None, ctx=None)

Bases: mxfusion.modules.module.Module

Gaussian process regression module

This module contains a Gaussian process with Gaussian likelihood.

Parameters:
  • X (Variable) – the input variables on which the random variables are conditioned.
  • kernel (Kernel) – the kernel of Gaussian process.
  • noise_var (Variable) – the variance of the Gaussian likelihood
  • mean_func (MXFusionFunction) – the mean function of Gaussian process.
  • rand_gen (RandomGenerator) – the random generator (default: MXNetRandomGenerator).
  • dtype (numpy.float32 or numpy.float64) – the data type for float point numbers.
  • ctx (None or mxnet.cpu or mxnet.gpu) – the mxnet context (default: None/current context).
static define_variable(X, kernel, noise_var, shape=None, mean_func=None, rand_gen=None, dtype=None, ctx=None)

Creates and returns a variable drawn from a Gaussian process regression.

Parameters:X – the input variables on which the random variables are

conditioned. :type X: Variable :param kernel: the kernel of Gaussian process :type kernel: Kernel :param noise_var: the variance of the Gaussian likelihood :type noise_var: Variable :param shape: the shape of the random variable(s) (the default shape is the same shape as X but the last dimension is changed to one.) :type shape: tuple or [tuple] :param mean_func: the mean function of Gaussian process :type mean_func: MXFusionFunction :param rand_gen: the random generator (default: MXNetRandomGenerator) :type rand_gen: RandomGenerator :param dtype: the data type for float point numbers :type dtype: numpy.float32 or numpy.float64 :param ctx: the mxnet context (default: None/current context) :type ctx: None or mxnet.cpu or mxnet.gpu

replicate_self(attribute_map=None)

The copy constructor for the function.