Performs Principal Component Analysis incrementally. If one has a data matrix A, performing PCA on this matrix is equivalent to centering the data by subtracting the sample mean, then performing SVD on the centered matrix to obtain the principal components. In the incremental or online version, one has a large data matrix A for which PCA has already been performed, and a new batch of data X is presented. Using this function is equivalent to computing PCA for the concatenated matrix [A X], but takes advantage of the fact that
the PCA for A has already been computed. This requires updating the sample mean, and orthogonalizing a set of vectors dependent on the previous principal components, the new data, and a "mean-correction" vector. The algorithm is explained in detail in: D. Ross, Incremental Learning for Robust Visual Tracking, https://www.cs.toronto.edu/~dross/ivt/RossLimLinYang_ijcv.pdf
This function here is also analogous to the incremental PCA implemented in Python's scikit learn package: https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.IncrementalPCA.html
Citation pour cette source
Josiah Wai (2024). incrementalPCA (https://www.mathworks.com/matlabcentral/fileexchange/88872-incrementalpca), MATLAB Central File Exchange. Récupéré le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Version | Publié le | Notes de version | |
---|---|---|---|
1.0.0 |