矩阵分解的Jungle
2011年9月5日忙菇发表评论阅读评论美帝的有心人士收集了市面上的矩阵分解的几乎所有算法和应用,由于源地址在某神秘物质之外,特转载过来,源地址
MatrixDecompositions
The sources for this list include
Most of the algorithms listed below generally rely on using thenuclear norm as a proxy to the rankfunctional.
In terms of notations, A refers to a matrix, L refers to a low rankmatrix, S a sparse one and N to a noisy one. This page lists thedifferent codes that implement the following matrixfactorizations:
Matrix Completion, A = H.*L with H a knownmask,
The idea of this approach is to complete the unknown coefficientsof a matrix based on the fact that the matrix is low rank:
-
OptSpace:
MatrixCompletion from a FewEntries by Raghunandan H.Keshavan, AndreaMontanari, and SewoongOh - LMaFit: Low-RankMatrix Fitting
- **
PenaltyDecomposition Methods for RankMinimization by ZhaosongLu and YongZhang.The attendant MATLAB code ishere. -
Jellyfish:
ParallelStochastic Gradient Algorithms for Large-Scale MatrixCompletion, B. Recht, C. Re, Apr 2011 - GROUSE:Online Identification and Tracking of Subspaces from HighlyIncomplete Information, L. Balzano, R. Nowak, B. Recht, 2010
-
SVP:
GuaranteedRank Minimization via Singular Value Projection, R. Meka, P.Jain, I.S.Dhillon, 2009 - SET:SET: an algorithm for consistent matrix completion, W. Dai, O.Milenkovic, 2009
- NNLS: Anaccelerated proximal gradient algorithm for nuclear normregularized least squares problems, K. Toh, S. Yun, 2009
- FPCA: Fixedpoint and Bregman iterative methods for matrix rank minimization,S. Ma, D. Goldfard, L. Chen, 2009
- SVT: Asingular value thresholding algorithm for matrix completion, J-FCai, E.J. Candes, Z. Shen, 2008
Noisy
-
GoDec
:Randomized Low-rank and Sparse Matrix Decomposition in NoisyCase - ReProCS: The
RecursiveProjected Compressive Sensing code (example)
Robust PCA : A = L +S
-
RobustPCA
: Two Codes that go with thepaper “TwoProposals for Robust PCA Using SemidefiniteProgramming.” by MichaleIMccoy and Joel Tropp - SPAMS (SPArseModeling Software)
- ADMM:
AlternatingDirection Method of Multipliers ‘‘Fast AutomaticBackground Extraction via RobustPCA’ by IvanPapusha. The poster ishere. The matlabimplementation is here. - PCP:
GeneralizedPrincipal Component Pursuit - Augmented Lagrange Multiplier (ALM) Method [exact ALM -MATLAB
zip][inexact ALM - MATLABzip],Reference - TheAugmented Lagrange Multiplier Method for Exact Recovery ofCorrupted Low-Rank Matrices, Z. Lin, M. Chen, L. Wu, and Y. Ma(UIUC Technical Report UILU-ENG-09-2215, November 2009) - Accelerated Proximal Gradient , Reference-
FastConvex Optimization Algorithms for Exact Recovery of a CorruptedLow-Rank Matrix, Z. Lin, A. Ganesh, J. Wright, L. Wu, M. Chen,and Y. Ma (UIUC Technical Report UILU-ENG-09-2214, August2009)[full SVD version - MATLAB zip][partial SVD version - MATLAB zip] - Dual Method [MATLAB
zip],Reference - FastConvex Optimization Algorithms for Exact Recovery of a CorruptedLow-Rank Matrix, Z. Lin, A. Ganesh, J. Wright, L. Wu, M. Chen,and Y. Ma (UIUC Technical Report UILU-ENG-09-2214, August2009). - Singular Value Thresholding [MATLAB
zip].Reference - A Singular ValueThresholding Algorithm for Matrix Completion, J. -F. Cai, E. J.Candès, and Z. Shen (2008). - Alternating Direction Method [MATLAB
zip] ,Reference - Sparse andLow-Rank Matrix Decomposition via Alternating DirectionMethods, X. Yuan, and J. Yang (2009). - LMaFit: Low-RankMatrix Fitting
- Bayesian robustPCA
-
Compressive-ProjectionPCA
(CPPCA)
Sparse PCA:
Sparse PCA
- R. Jenatton, G. Obozinski, F. Bach. Structured Sparse PrincipalComponent Analysis. International Conference on ArtificialIntelligence and Statistics (AISTATS). [pdf][code]
- SPAMs
- DSPCA:
Sparse PCA usingSDP . Code is here . - PathPCA: A fast greedy algorithm for Sparse PCA. The codeis
here.
Dictionary Learning: A = DX
Some implementation of dictionary learning implement the NMF
-
OnlineLearning for Matrix Factorization and SparseCoding
by JulienMairal, FrancisBach, JeanPonce,GuillermoSapiro [The code is releasedas SPArseModeling Softwareor SPAMS] -
DictionaryLearning Algorithms for SparseRepresentation
(Matlab implementationof FOCUSS/FOCUSS-CNDLis here) -
Multiscalesparse image representation with learneddictionaries
[Matlab implementation ofthe K-SVD algorithmis here, a newer implementation by Ron Rubinsteinis here ] -
Efficientsparse coding algorithms
[Matlab code ishere ] -
ShiftInvariant Sparse Coding of Image and Music Data. Matlabimplemention is
here - Shift-invariantdictionary learning for sparse representations: extendingK-SVD.
-
ThresholdedSmoothed-L0 (SL0) Dictionary Learning for SparseRepresentations
by HadiZayyani, MassoudBabaie-Zadeh and RemiGribonval. -
Non-negativeSparse Modeling of Textures (NMF)
[Matlabimplementation of NMF(Non-negative Matrix Factorization) and NTF (Non-negativeTensor), a faster implementation of NMF can befound here, hereis a more recent Non-NegativeTensor Factorizations package]
NMF: A = DX with
Non-negativeMatrix Factorization (NMF) on wikipedia
-
HALS:
AcceleratedMultiplicative Updates and Hierarchical ALS Algorithms forNonnegative MatrixFactorization by NicolasGillis, FrançoisGlineur. -
SPAMS (SPArseModelingSoftware)
by JulienMairal, FrancisBach, JeanPonce,GuillermoSapiro -
NMF:
C.-J.Lin. Projectedgradient methods for non-negative matrixfactorization. NeuralComputation, 19(2007), 2756-2779. -
Non-NegativeMatrix Factorization:
Thispage contains an optimized C implementation ofthe Non-Negative Matrix Factorization (NMF) algorithm, describedin [Lee& Seung 2001]. We implement the update rulesthat minimize a weighted SSD error metric. A detailed descriptionof weighted NMF can be found in[Peers etal. 2006]. - NTFLAB forSignal Processing, Toolboxes for NMF (Non-negative MatrixFactorization) and NTF (Non-negative Tensor Factorization) for BSS(Blind Source Separation)
-
Non-negativeSparse Modeling of Textures (NMF)
[Matlabimplementation of NMF(Non-negative Matrix Factorization) and NTF (Non-negativeTensor), a faster implementation of NMF can befound here, hereis a more recent Non-NegativeTensor Factorizations package]
Multiple Measurement Vector (MMV) Y = A Xwith
-
T-MSBL/T-SBL
by ZhilinZhang -
CompressiveMUSIC with optimized partial support for joint sparserecovery
by Jong MinKim, Ok KyunLee, Jong ChulYe [no code] -
The REMBOAlgorithm Accelerated Recovery of Jointly SparseVectors
by Moshe Mishali andYonina C. Eldar [ no code]
Blind Source Separation (BSS) Y = A Xwith
Include Independent Component Analysis (ICA), Independent SubspaceAnalysis (ISA), and Sparse Component Analysis(SCA).
ICA:
- ICALab:
http://www.bsp.brain.riken.jp/ICALAB/ - BLISS softwares:
http://www.lis.inpg.fr/pages_perso/bliss/deliverables/d20.html - MISEP:
http://www.lx.it.pt/~lbalmeida/ica/mitoolbox.html - Parra and Spence’s frequency-domain convolutive ICA:http://people.kyb.tuebingen.mpg.de/harmeling/code/convbss-0.1.tar
- C-FICA:
http://www.ast.obs-mip.fr/c-fica
SCA:
- DUET:
http://sparse.ucd.ie/publications/rickard07duet.pdf (thematlab code is given at the end of this pdf document) - LI-TIFROM:
http://www.ast.obs-mip.fr/li-tifrom
Randomized Algorithms
These algorithms uses generally random projections to shrink verylarge problems into smaller ones that can be amenable totraditional matrix factorization methods.
Resource
Randomizedalgorithms for matrices and data
RandomizedAlgorithms for Low-Rank Matrix Decomposition
- RandomizedPCA
- Randomized Least Squares:
Blendenpik( http://pdos.csail.mit.edu/~petar/papers/blendenpik-v1.pdf )
Other factorization
D(T(.)) = L +E
- RASL: RobustBatch Alignment of Images by Sparse and Low-RankDecomposition
- TILT: TransformInvariant Low-rank Textures
Frameworks featuring advanced Matrixfactorizations
For the time being, few have integrated the most recentfactorizations.
-
ScikitLearn
(Python) -
Matlab Toolboxfor Dimensionality Reduction
(ProbabilisticPCA, Factor Analysis (FA)…) -
Orange
(Python) -
pcaMethods—a
bioconductor packageproviding PCA methods for incomplete data. R Language
GraphLab / Hadoop
-
DannyBickson
keeps a blog onGraphLab.
Books
Example of use
- CS: LowRank Compressive Spectral Imaging and a multishot CASSI
- CS:Heuristics for Rank Proxy and how it changes everything….
- TennisPlayers are Sparse !
Sources
ArvindGanesh’s
-
Raghunandan H.Keshavan‘ s
list - StephenBecker’s list
-
NuclearNorm and Matrix Recovery
through SDPby ChristophHelmberg - NuitBlanche
Relevant links
Reference:
A Unified View ofMatrix Factorization Models by Ajit P. Singh and Geoffrey J.Gordon