I have a complex square matrix, and wish to learn latent factors (equally weighted latent factors, so not SVD) from this matrix.

Given a Hermitian matrix A of dimensions n x n, how can I find a matrix V of dimensions n x k such that VV^T approximates A as closely as possible?

I tried Bayesian MCMC factorization using the CoGAPS algorithm, but surprisingly the resulting U and V matrices were nowhere near identical, and as a consequence the results were confusing.

I have also tried SVD, but the problem here is that individual latent factors in the input matrix are often combined at high singular values.

To be clear, this is a real world problem I am solving and I'm failing to find any precedent. I appreciate any suggestions. I am doing my analysis in R, but am looking for the most computationally reasonable algorithm as this will be done on a 25000x25000 non-sparse matrix.

  • $\begingroup$ Still appreciate any insights. The direction I'm taking at the moment is hierarchical iterative SVD, where significant latent factors in the SVD result are further decomposed after multiplying that latent factor back through the original matrix $\endgroup$ – zdebruine Feb 24 '20 at 14:36
  • $\begingroup$ In case this question is still of interest to anyone, it turns out that NMF of random symmetrical matrices yields W != H^T, but a highly non-random matrix yields W as a linear transformation of H^T (with some second-degree non-linearity within factors depending on which NMF method is used). $\endgroup$ – zdebruine Oct 19 '20 at 13:58
  • $\begingroup$ Also, SymNMF is written for this exact purpose. But it's not faster than normal NMF. I'm looking for an original way to perform symmetrical factorization. $\endgroup$ – zdebruine Oct 19 '20 at 13:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.