nmf_update.euclidean_offset.h and
nmf_update.euclidean_offset.w compute the updated
NMFOffset model, using the optimized C++
implementations.
nmf_update.offset_R implements a complete single
update step, using plain R updates.
nmf_update.offset implements a complete single
update step, using C++-optimised updates.
Algorithms nmf_update.offset and
nmf_update.offset_R respectively.
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 = nmf.getOption("maxIter") %||% 2000,
eps = 10^-9, stopconv = 40, check.interval = 10)
nmfAlgorithm.offset(..., .stop = NULL,
maxIter = nmf.getOption("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 achievedNMF object.onInit and Stop
respectively).NMFOffset model object.NMFOffset 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 Lee DD and Seung H (2001). "Algorithms for non-negative
matrix factorization." _Advances in neural information
processing systems_.