NMFStrategyIterative-class: Interface for Algorithms: Implementation for Iterative NMF...

Description Slots Methods References


This class provides a specific implementation for the generic function run – concretising the virtual interface class NMFStrategy, for NMF algorithms that conform to the following iterative schema (starred numbers indicate mandatory steps):

This schema could possibly apply to all NMF algorithms, since these are essentially optimisation algorithms, almost all of which use iterative methods to approximate a solution of the optimisation problem. The main advantage is that it allows to implement updates and stopping criterion separately, and combine them in different ways. In particular, many NMF algorithms are based on multiplicative updates, following the approach from Lee et al. (2001), which are specially suitable to be cast into this simple schema.



optional function that performs some initialisation or pre-processing on the model, before starting the iteration loop.


mandatory function that implement the update step, which computes new values for the model, based on its previous value. It is called at each iteration, until the stopping criterion is met or the maximum number of iteration is achieved.


optional function that implements the stopping criterion. It is called before each Update step. If not provided, the iterations are stopped after a fixed number of updates.


optional function that wraps up the result into an NMF object. It is called just before returning the



signature(object = "NMFStrategyIterative", y = "matrix", x = "NMFfit"): Runs an NMF iterative algorithm on a target matrix y.


signature(object = "NMFStrategyIterative"): Show method for objects of class NMFStrategyIterative


Lee DD and Seung H (2001). "Algorithms for non-negative matrix factorization." _Advances in neural information processing systems_. <URL: http://scholar.google.com/scholar?q=intitle:Algorithms+for+non-negative+matrix+factorization\#0>.

NMF documentation built on March 18, 2018, 1:41 p.m.