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.
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)
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).nmf_update.euclidean
).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.
updated object object
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,