These update rules proposed by Badea (2008) are modified version of the updates from Lee et al. (2001), that include an offset/intercept vector, which models a common baseline for each feature accross all samples:
V \approx W H + I
nmf_update.offset_Rimplements a complete single update step, using plain R updates.
nmf_update.offsetimplements a complete single update step, using C++-optimised updates.Algorithms offset and .R#offset provide the complete NMF-with-offset algorithm from Badea (2008), using the C++-optimised and pure R updates
nmf_update.offsetandnmf_update.offset_Rrespectively.
nmf_update.euclidean_offset.h(v, w, h, offset, eps = 10^-9, copy = TRUE)
nmf_update.euclidean_offset.w(v, w, h, offset, eps = 10^-9, copy = TRUE)
nmf_update.offset_R(i, v, x, eps = 10^-9, ...)
nmf_update.offset(i, v, x, copy = FALSE, eps = 10^-9, ...)
nmfAlgorithm.offset_R(..., .stop = NULL, maxIter = 2000, eps = 10^-9, stopconv = 40,
check.interval = 10)
nmfAlgorithm.offset(..., .stop = NULL, maxIter = 2000, copy = FALSE, eps = 10^-9,
stopconv = 40, check.interval = 10)
FALSE) or
on a copy (TRUE - default). With copy=FALSE
the memory footprint is very small, and some speed-up may
be achieved in the case of big matrices. However, greater
care should be taken due the side effect. We recommend
that only experienced users use copy=TRUE.NMF-class object.onInit and Stop
respectively).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. an NMFOffset-class model object.
nmf_update.euclidean_offset.h and
nmf_update.euclidean_offset.w compute the updated
NMFOffset model, using the optimized C++
implementations.
The associated model is defined as an
NMFOffset-class object. The details of the
multiplicative updates can be found in Badea
(2008). Note that the updates are the ones defined for a
single datasets, not the simultaneous NMF model, which is
fit by algorithm siNMF from formula-based NMF
models.
Badea L (2008). "Extracting gene expression profiles
common to colon and pancreatic adenocarcinoma using
simultaneous nonnegative matrix factorization." _Pacific
Symposium on Biocomputing. Pacific Symposium on
Biocomputing_, *290*, pp. 267-78. ISSN 1793-5091,
Lee DD and Seung H (2001). "Algorithms for non-negative
matrix factorization." _Advances in neural information
processing systems_.