dlaptev / RobustPCA

Robust PCA implementation and examples (Matlab)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RobustPCA

Robust PCA (Robust Principal Component Analysis) implementation and examples (Matlab).

Robust PCA is a matrix factorization method that decomposes the input matrix X into the sum of two matrices L and S, where L is low-rank and S is sparse. This is done by solving the following optimization problem called Principal Component Pursuit (PCP):

\min ||L||_* + \lambda ||S||_1

s.t. L + S = X

where ||.||_* is a nuclear norm, ||.||_1 is L1-norm. For more information on Robust PCA please refer to the original paper "Robust principal component analysis?" Emmanuel J. Candès, Xiaodong Li, Yi Ma and John Wright, 2009. The optimization method is ADMM algorithm (Alternating Direction Method of Multipliers).

Examples:

  • Toy data example: small toy matrix decomposition into low-rank and sparse component. alt text

  • Inpainting: recovering corrupted images via low-rank representation learning. alt text

  • Video decomposition: separating foreground from background in the video. alt text

About

Robust PCA implementation and examples (Matlab)

License:MIT License


Languages

Language:MATLAB 100.0%