image thumbnail

incrementalPCA

version 1.0.0 (2.25 KB) by Josiah Wai
Performs PCA incrementally

28 Downloads

Updated 15 Mar 2021

View License

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

Cite As

Josiah Wai (2022). incrementalPCA (https://www.mathworks.com/matlabcentral/fileexchange/88872-incrementalpca), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2021a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!