R: Multiplicative Updates for LS-NMF

nmf_update.lsnmf {NMF} | R Documentation

## Multiplicative Updates for LS-NMF

### Description

Implementation of the updates for the LS-NMF algorithm from Wang et al. (2006).

`wrss` implements the objective function used by the LS-NMF algorithm.

### Usage

      nmf_update.lsnmf(i, X, object, weight, eps = 10^-9, ...)

      wrss(object, X, weight)

      nmfAlgorithm.lsNMF(..., .stop = NULL,
        maxIter = nmf.getOption("maxIter") %||% 2000, weight,
        eps = 10^-9, stationary.th = .Machine$double.eps,
        check.interval = 5 * check.niter, check.niter = 10L)

### Arguments

`i` | current iteration
`X` | target matrix
`object` | current NMF model
`weight` | value for S, i.e. the weights that are applied to each entry in `X` by `X * weight` (= entry wise product). Weights are usually specified as a matrix of the same dimension as `X` (e.g. uncertainty estimates for each measurement), but may also be passed as a vector, in which case the standard rules for entry wise product between matrices and vectors apply (e.g. recylcing elements).
`eps` | small number passed to the standard euclidean-based NMF updates (see `nmf_update.euclidean`).
`...` | extra arguments (not used)
`.stop` | specification of a stopping criterion, that is used instead of the one associated to the NMF algorithm. It may be specified as: the access key of a registered stopping criterion; a single integer that specifies the exact number of iterations to perform, which will be honoured unless a lower value is explicitly passed in argument `maxIter`. a single numeric value that specifies the stationnarity threshold for the objective function, used in with `nmf.stop.stationary`; a function with signature `(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.
`maxIter` | maximum number of iterations to perform.
`stationary.th` | maximum absolute value of the gradient, for the objective function to be considered stationary.
`check.interval` | interval (in number of iterations) on which the stopping criterion is computed.
`check.niter` | number of successive iteration used to compute the stationnary criterion.

### Value

updated object `object`

### References

Wang G, Kossenkov AV and Ochs MF (2006). "LS-NMF: a modified non-negative matrix factorization algorithm utilizing uncertainty estimates." _BMC bioinformatics_, *7*, pp. 175. ISSN 1471-2105, <URL: http://dx.doi.org/10.1186/1471-2105-7-175>, <URL: http://www.ncbi.nlm.nih.gov/pubmed/16569230>.

[Package NMF version 0.21.0 Index]