nmf_update.euclidean_offset.h {NMF} | R Documentation |
NMF Multiplicative Update for NMF with Offset Models
Description
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.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 ‘offset’ and ‘.R#offset’ provide
the complete NMF-with-offset algorithm from Badea
(2008), using the C++-optimised and pure R updates
nmf_update.offset
and
nmf_update.offset_R
respectively.
Usage
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)
Arguments
offset |
current value of the offset/intercept vector. It must be of length equal to the number of rows in the target matrix. |
v |
target matrix. |
eps |
small numeric value used to ensure numeric stability, by shifting up entries from zero to this fixed value. |
copy |
logical that indicates if the update should
be made on the original matrix directly ( |
i |
current iteration number. |
x |
current NMF model, as an
|
... |
extra arguments. These are generally not used
and present only to allow other arguments from the main
call to be passed to the initialisation and stopping
criterion functions (slots |
.stop |
specification of a stopping criterion, that is used instead of the one associated to the NMF algorithm. It may be specified as:
|
maxIter |
maximum number of iterations to perform. |
stopconv |
number of iterations intervals over which the connectivity matrix must not change for stationarity to be achieved. |
check.interval |
interval (in number of iterations) on which the stopping criterion is computed. |
w |
current basis matrix |
h |
current coefficient matrix |
Details
The associated model is defined as an
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 ‘siNMF’ from formula-based NMF
models.
Value
an NMFOffset
model object.
Author(s)
Original update definition: Liviu Badea
Port to R and optimisation in C++: Renaud Gaujoux
References
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, <URL: http://www.ncbi.nlm.nih.gov/pubmed/18229692>.
Lee DD and Seung H (2001). "Algorithms for non-negative matrix factorization." _Advances in neural information processing systems_. <URL: http://scholar.google.com/scholar?q=intitle:Algorithms+for+non-negative+matrix+factorization>.