dlaptev / RobustPCA

Robust PCA implementation and examples (Matlab)
MIT License
195 stars 73 forks source link

Wrong Readme description #1

Closed kislayabhi closed 7 years ago

kislayabhi commented 7 years ago

It is mentioned in your Readme file that the the optimization method is ADMM algorithm (Alternating Direction Method of Multipliers) but I think it is ALM (both in your code and in the RPCA? paper).

andrewssobral commented 7 years ago

Hi @kislayabhi ADMM is a particular case of ALM, please see: https://en.wikipedia.org/wiki/Augmented_Lagrangian_method ..."The alternating direction method of multipliers (ADMM) is a variant of the augmented Lagrangian scheme that uses partial updates for the dual variables."... and .."ADMM technique allows this problem to be solved approximately by first solving for x with y fixed, and then solving for y with x fixed."...and it is exactly as RPCA via PCP proposed by Candès paper works, please see the Algorithm 1 (Principal Component Pursuit by Alternating Directions) on page 29: http://statweb.stanford.edu/~candes/papers/RobustPCA.pdf and ..."Algorithm 1 is a special case of a more general class of augmented Lagrange multiplier algorithms known as alternating directions methods"... so, both Readme and algorithm implementation are ok

dlaptev commented 7 years ago

Hi @kislayabhi, @andrewssobral,

Great answer from @andrewssobral, thanks a lot for your time writing it (and researching the issue)! This terminology can indeed be a bit confusing, and I am glad that @kislayabhi asked about it here. I hope that this discussion will help to avoid some of the future questions.