Skip to content

dlaptev/RobustPCA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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