Creates NMFStrategy objects that wraps implementation of NMF algorithms into a unified interface.
NMFStrategy(name, method, ...) S4 (NMFStrategy,matrix,NMFfit) `run`(object, y, x, ...) S4 (NMFStrategy,matrix,NMF) `run`(object, y, x, ...) S4 (NMFStrategyFunction,matrix,NMFfit) `run`(object, y, x, ...) S4 (NMFStrategyIterative,matrix,NMFfit) `run`(object, y, x, .stop = NULL, maxIter = 2000, ...) S4 (NMFStrategyIterativeX,matrix,NMFfit) `run`(object, y, x, maxIter, ...) S4 (NMFStrategyOctave,matrix,NMFfit) `run`(object, y, x, ...)
new.maxIter. nmf.stop.stationary;
(object="NMFStrategy", i="integer", y="matrix",
x="NMF", ...), where object is the
NMFStrategy object that describes the algorithm
being run, i is the current iteration, y is
the target matrix and x is the current value of
the NMF model. signature(name = "character",
method = "function"): Creates an
NMFStrategyFunction object that wraps the function
method into a unified interface.
method must be a function with signature
(y="matrix", x="NMFfit", ...), and return an
object of class NMFfit-class.
signature(name = "character",
method = "NMFStrategy"): Creates an NMFStrategy
object based on a template object (Constructor-Copy).
signature(name = "NMFStrategy",
method = "missing"): Creates an NMFStrategy based
on a template object (Constructor-Copy), in particular it
uses the same name.
signature(name = "missing",
method = "character"): Creates an NMFStrategy
based on a registered NMF algorithm that is used as a
template (Constructor-Copy), in particular it uses the
same name.
It is a shortcut for
NMFStrategy(nmfAlgorithm(method, exact=TRUE),
...).
signature(name = "NULL", method
= "NMFStrategy"): Creates an NMFStrategy based on
a template object (Constructor-Copy) but using a randomly
generated name.
signature(name = "character",
method = "character"): Creates an NMFStrategy
based on a registered NMF algorithm that is used as a
template.
signature(name = "NULL", method
= "character"): Creates an NMFStrategy based on a
registered NMF algorithm (Constructor-Copy) using a
randomly generated name.
It is a shortcut for NMFStrategy(NULL,
nmfAlgorithm(method), ...).
signature(name = "character",
method = "missing"): Creates an NMFStrategy, determining
its type from the extra arguments passed in ...:
if there is an argument named Update then an
NMFStrategyIterative is created, or if there is an
argument named algorithm then an
NMFStrategyFunction is created. Calls other than
these generates an error.
signature(object = "NMFStrategy", y =
"matrix", x = "NMFfit"): Pure virtual method defined for
all NMF algorithms to ensure that a method run is
defined by sub-classes of NMFStrategy.
It throws an error if called directly.
signature(object = "NMFStrategy", y =
"matrix", x = "NMF"): Method to run an NMF algorithm
directly starting from a given NMF model.
signature(object =
"NMFStrategyFunction", y = "matrix", x = "NMFfit"): Runs
the NMF algorithms implemented by the single R function
-- and stored in slot 'algorithm' of
object, on the data object y, using
x as starting point. It is equivalent to calling
object@algorithm(y, x, ...).
This method is usually not called directly, but only via
the function nmf, which takes care of many
other details such as seeding the computation, handling
RNG settings, or setting up parallelisation.
signature(object =
"NMFStrategyIterative", y = "matrix", x = "NMFfit"):
Runs an NMF iterative algorithm on a target matrix
y.
signature(object = "NMFStrategyOctave",
y = "matrix", x = "NMFfit"): Runs the NMF algorithms
implemented by the Octave/Matlab function associated with
the strategy -- and stored in slot 'algorithm' of
object.
This method is usually not called directly, but only via
the function nmf, which takes care of many
other details such as seeding the computation, handling
RNG settings, or setting up parallel computations.