Overview
Support Vector Machines (SVMs) are classical supervised learning models used for classification and regression tasks. They work by finding an optimal decision boundary (hyperplane) that separates data into different classes.
Quantum SVMs leverage quantum computing to map data into a high-dimensional Hilbert space using quantum feature maps, enabling faster and potentially more accurate separation for complex datasets.
Why Quantum SVM?
- High-dimensional mapping: Quantum computers can map classical data into extremely high-dimensional spaces efficiently using quantum kernels.
- Speed advantage: Quantum SVMs can potentially achieve exponential speedups for certain problems.
- Better handling of non-linear patterns: Quantum feature maps can capture complex relationships that classical methods might miss.
Key Concepts
- Quantum Feature Map
A process that encodes classical data into quantum states, enabling transformations that are infeasible for classical machines.- Example: Encoding each feature into the angle of a qubit rotation.
- Quantum Kernel Estimation
Measures the similarity between data points in the quantum feature space by calculating the inner product of quantum states. - Classification with Quantum Circuits
Once the quantum kernel is computed, a classical SVM algorithm is applied to classify the data.
How It Works – Step-by-Step
- Data Encoding → Map classical data into qubit states using a feature map.
- Quantum Kernel Computation → Use a quantum circuit to compute kernel values.
- Classical SVM → Train a classical SVM with the computed quantum kernel.
- Prediction → Use the trained model to classify new data.

Applications
- Drug discovery: Classifying molecules based on biological activity.
- Finance: Identifying market trends and anomalies.
- Cybersecurity: Detecting fraud or malicious activity patterns.
Advantages over Classical SVM
- Handles high-dimensional spaces more naturally.
- May provide speedups for certain large and complex datasets.
- Exploits quantum parallelism for efficient kernel computation.
Hands-On Implementation (Example with Qiskit)
from qiskit import Aer
from qiskit.utils import QuantumInstance
from qiskit.circuit.library import ZZFeatureMap
from qiskit_machine_learning.kernels import QuantumKernel
from sklearn.svm import SVC
import numpy as np
# Example dataset
X_train = np.array([[0,0], [1,0], [0,1], [1,1]])
y_train = np.array([0, 1, 1, 0])
# Quantum feature map
feature_map = ZZFeatureMap(feature_dimension=2, reps=2, entanglement='linear')
# Quantum kernel
backend = Aer.get_backend('statevector_simulator')
quantum_kernel = QuantumKernel(feature_map=feature_map, quantum_instance=QuantumInstance(backend))
# Compute kernel matrix
kernel_matrix = quantum_kernel.evaluate(x_vec=X_train)
# Train classical SVM with quantum kernel
svm = SVC(kernel='precomputed')
svm.fit(kernel_matrix, y_train)
print("Model trained with Quantum Kernel!")
➡️ Next: Quantum Neural Networks (QNNs)