nmfSeed
lists and retrieves NMF seeding methods.
getNMFSeed
is an alias for nmfSeed
.
existsNMFSeed
tells if a given seeding method
exists in the registry.
nmfSeed(name = NULL, ...) getNMFSeed(name = NULL, ...) existsNMFSeed(name, exact = TRUE)
nmfSeed
returns the list of
all available seeding methods.Currently the internal registry contains the following
seeding methods, which may be specified to the function
nmf
via its argument seed
using
their access keys:
[0, max(x)]
,
where $x$ is the target matrix. The basic algorithm contains no randomization and is based on two SVD processes, one approximating the data matrix, the other approximating positive sections of the resulting partial SVD factors utilising an algebraic property of unit rank matrices.
It is well suited to initialise NMF algorithms with sparse factors. Simple practical variants of the algorithm allows to generate dense factors.
Reference: Boutsidis et al. (2008)
fastICA
package). Only
the positive part of the result are used to initialise
the factors. This method allows the user to manually provide initial values for both matrix factors.
Boutsidis C and Gallopoulos E (2008). "SVD based
initialization: A head start for nonnegative matrix
factorization." _Pattern Recognition_, *41*(4), pp.
1350-1362. ISSN 00313203,
# list all registered seeding methods
nmfSeed()
## [1] "none" "random" "ica" "nndsvd"
# retrieve one of the methods
nmfSeed('ica')
## <object of class: NMFSeed >
## name: ica
## method: <function>