Hello all,
in what cases would a decomposition with FluidBufNNDSVD before BufNMF prove to be an advantageous over just using the latter? Is it to estimate the number of components on a given buffer?
Thanks!
Jan
Hello all,
in what cases would a decomposition with FluidBufNNDSVD before BufNMF prove to be an advantageous over just using the latter? Is it to estimate the number of components on a given buffer?
Thanks!
Jan
Hi @jan,
Good question! We definitely need to find a way of making this clearer. Itâs not only for estimating the number of components, but also for providing some better-than-random initial values for the bases
and activations
buffers using a less expensive process. By default NMF will use random matrices as its initial conditions. But, because the possible solutions arenât unique, random initialisation can mean that it doesnât always converge to a âgoodâ solution.
Using NNDSVD allows one to use a reasonably criterion (how much of the variance of the source to preserve) to come up with a number of components and some starting values that would help NMF converge more quickly to a useful decomposition.
Better documentation is still in progress, but the sklearn NMF page has some explanation of what the tradeoffs for each mode are.
Hi @weefuzzy,
thanks for the explanation, iâll look into the page youâve linked!
Would that also mean for example that using NNDSVD on buffer A, providing bases & activations for NMF on audio buffer B that would results in a sort of âcross synthesisâ in which the convergence moves from A to B?
Jan
I fear it wouldnât work reliably