BaseKernel¶
- class BaseKernel(*, feature_map=None, enforce_psd=True)[source]¶
Bases:
ABC
An abstract definition of the quantum kernel interface.
The general task of machine learning is to find and study patterns in data. For many algorithms, the datapoints are better understood in a higher dimensional feature space, through the use of a kernel function:
\[K(x, y) = \langle f(x), f(y)\rangle.\]Here K is the kernel function, x, y are n dimensional inputs. f is a map from n-dimension to m-dimension space. \(\langle x, y \rangle\) denotes the dot product. Usually m is much larger than n.
The quantum kernel algorithm calculates a kernel matrix, given datapoints x and y and feature map f, all of n dimension. This kernel matrix can then be used in classical machine learning algorithms such as support vector classification, spectral clustering or ridge regression.
- Parameters:
feature_map (QuantumCircuit) – Parameterized circuit to be used as the feature map. If
None
is given,ZZFeatureMap
is used with two qubits. If there’s a mismatch in the number of qubits of the feature map and the number of features in the dataset, then the kernel will try to adjust the feature map to reflect the number of features.enforce_psd (bool) – Project to closest positive semidefinite matrix if
x = y
. DefaultTrue
.
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.
Methods