Quantum Principal Component Analysis QPCA - RPIQuantumComputing/QuantumCircuits GitHub Wiki
Quantum principal component analysis, or QPCA, is an extension of classical principal component analysis, a widely used dimensionality reduction technique, into quantum mechanics to identify the most important feature or information in any datasets, it uses this feature to perform dimensionality reduction, feature selection, data visualization, data compression, and quantum machine learning.
In classical principal component analysis, or PCA, the goal of the analysis is to find the principal components of a data set, basically simplifying it and by reducing its dimensionality, which are performed by analyzing the feature space along the data points that varies the most, a collection of these points are called principal components that exists in a real coordinate space and can be defined as a unit vector. The principal components are orthogonal to each other and is then ranked in order by the measure of the variability of the data set, the first principal component has the greatest variability, while the second is less than the first, but as you move on and on, the variation continues to drop, the principal component analysis takes advantage of this through the covariance matrix that creates eigenvectors of the useful data points in the data set. In an example, say there exists a dataset of 20 values, but only 5 of them are of any use to determining a pattern that fits the data, classical principal component analysis finds these 5 points, basically just compressing the data into the eigenvector of useful data to find patterns and find principal components of the data. Through using classical principal component analysis, one can simplify the data set to a form that allows pattern identification by removing the outliers through the compression of its variances.
The speed of classical principal component analysis is usually O(n^3) where n is the number of data points that are inputted into the algorithm, this is resulted from both computing the covariance matrix of the data as well as performing eigenvalue decomposition on said matrix, this is quite slow especially when used on an extremely large amount of data, quantum principal component analysis, however, does not possess such an issue, taking advantage of quantum laws and mechanics, quantum PCA has the potential to compute certain operations exponentially faster than its classical counterparts with an improved accuracy given it can capture more subtle relationships leading to more accuracy in determining patterns. Quantum PCA uses superposition to perform computations on multiple states at the same time allowing for faster computation and exploration of the data, quantum PCA can also handle higher dimensional data more efficiently and at a faster rate than the classical version of principal component analysis, thus enabling the analysis of complex datasets. The operations of a quantum PCA includes first, encoding inputted data into quantum states where each point corresponds to a specific quantum states, the encoding step may vary based on the specific implementation that the PCA is doing, then superposition occurs where the states are put into superposition and are going to be all computed simultaneously, quantum operations are then applied to every quantum states at once to perform operations and manipulate the data, this also where the principal components and their eigenvalues are extracted after the extraction, the eigenvalues are formed into an eigenvector that becomes decomposed for a more compressed version of the important data points, this step also collapses the superposition and transforms the quantum states back into classical outputs.
In conclusion, quantum principal component analysis is potentially much faster than classical principal component analysis given that it has advantages in both speed and accuracy when it comes to processing large amounts of data by taking advantage of superposition and quantum's ability to access higher dimensions.