TrainableKernel#

class TrainableKernel(*, training_parameters=None, **kwargs)[source]#

Bases: BaseKernel, ABC

An abstract definition of the ability to train kernel via specifying training parameters.

Parameters:
  • training_parameters (ParameterVector | Sequence[Parameter] | None) -- a sequence of training parameters.

  • **kwargs -- Additional parameters may be used by the super class.

Attributes

enforce_psd#

Returns True if the kernel matrix is required to project to the closest positive semidefinite matrix.

feature_map#

Returns the feature map of this kernel.

num_features#

Returns the number of features in this kernel.

num_training_parameters#

Returns the number of training parameters.

parameter_values#

Returns numerical values assigned to the training parameters as a numpy array.

training_parameters#

Returns the vector of training parameters.

Methods

assign_training_parameters(parameter_values)[source]#

Fix the training parameters to numerical values.

abstract evaluate(x_vec, y_vec=None)#

Construct kernel matrix for given data.

If y_vec is None, self inner product is calculated.

Parameters:
  • x_vec (ndarray) -- 1D or 2D array of datapoints, NxD, where N is the number of datapoints, D is the feature dimension

  • y_vec (ndarray | None) -- 1D or 2D array of datapoints, MxD, where M is the number of datapoints, D is the feature dimension

Returns:

2D matrix, NxM

Return type:

ndarray