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):

1. Initialisation

2*. Update the model at each iteration

3. Stop if some criterion is satisfied

4. Wrap up

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.

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

- Update
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.

- Stop
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.- onReturn
optional function that wraps up the result into an NMF object. It is called just before returning the

- run
`signature(object = "NMFStrategyIterative", y = "matrix", x = "NMFfit")`

: Runs an NMF iterative algorithm on a target matrix`y`

.- show
`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>.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.