Interface for NMF Seeding Methods

Description

The function seed provides a single interface for calling all seeding methods used to initialise NMF computations. These methods at least set the basis and coefficient matrices of the initial object to valid nonnegative matrices. They will be used as a starting point by any NMF algorithm that accept initialisation.

IMPORTANT: this interface is still considered experimental and is subject to changes in future release.

Usage

seed(x, model, method, ...)

S4 (matrix,NMF,NMFSeed)
`seed`(x, model, method, rng, ...)

S4 (ANY,ANY,function)
`seed`(x, model, method, name, ...)

Arguments

x
target matrix one wants to approximate with NMF
model
specification of the NMF model, e.g., the factorization rank.
method
specification of a seeding method. See each method for details on the supported formats.
...
extra to allow extensions and passed down to the actual seeding method.
rng
rng setting to use. If not missing the RNG settings are set and restored on exit using setRNG. All arguments in ... are passed to teh seeding strategy.
name
optional name of the seeding method for custom seeding strategies.

Value

an NMFfit-class object.

Methods

  1. seedsignature(x = "matrix", model = "NMF", method = "NMFSeed"): This is the workhorse method that seeds an NMF model object using a given seeding strategy defined by an NMFSeed object, to fit a given target matrix.

  2. seedsignature(x = "ANY", model = "ANY", method = "function"): Seeds an NMF model using a custom seeding strategy, defined by a function.

    method must have signature (x='NMFfit', y='matrix', ...), where x is the unseeded NMF model and y is the target matrix to fit. It must return an NMF-class object, that contains the seeded NMF model.

  3. seedsignature(x = "ANY", model = "ANY", method = "missing"): Seeds the model with the default seeding method given by nmf.getOption('default.seed')

  4. seedsignature(x = "ANY", model = "ANY", method = "NULL"): Use NMF method 'none'.

  5. seedsignature(x = "ANY", model = "ANY", method = "numeric"): Use method to set the RNG with setRNG and use method “random” to seed the NMF model.

    Note that in this case the RNG settings are not restored. This is due to some internal technical reasons, and might change in future releases.

  6. seedsignature(x = "ANY", model = "ANY", method = "character"): Use the registered seeding method whose access key is method.

  7. seedsignature(x = "ANY", model = "list", method = "NMFSeed"): Seed a model using the elements in model to instantiate it with nmfModel.

  8. seedsignature(x = "ANY", model = "numeric", method = "NMFSeed"): Seeds a standard NMF model (i.e. of class NMFstd-class) of rank model.