English
Languages
English
Bengali
French
Hindi
Italian
Japanese
Korean
Malayalam
Russian
Spanish
Tamil
Turkish
Vietnamese
Shortcuts



QuantumKernel

class QuantumKernel(feature_map=None, enforce_psd=True, batch_size=900, quantum_instance=None)[source]

Bases: object

Quantum Kernel.

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 (Optional[QuantumCircuit]) – Parameterized circuit to be used as the feature map. If None is given, the ZZFeatureMap is used with two qubits.

  • enforce_psd (bool) – Project to closest positive semidefinite matrix if x = y. Only enforced when not using the state vector simulator. Default True.

  • batch_size (int) – Number of circuits to batch together for computation. Default 1000.

  • quantum_instance (Union[QuantumInstance, BaseBackend, Backend, None]) – Quantum Instance or Backend

Attributes

feature_map

Returns feature map

quantum_instance

Returns quantum instance

Methods

construct_circuit(x[, y, measurement, ...])

Construct inner product circuit for given datapoints and feature map.

evaluate(x_vec[, y_vec])

Construct kernel matrix for given data and feature map