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 = 1)

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. recycling elements). Null weights can be used to handle missing values in the target matrix. In particular, using weight=NA cancels out all missing values (see examples).
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, , .