NMFOffset-class {NMF} | R Documentation |
Class that implements the Nonnegative Matrix Factorization with Offset model, required by the NMF with Offset algorithm.
The NMF with Offset algorithm is defined by Badea (2008) as a modification of Lee & Seung's euclidean based NMF algorithm (see section Details and references below). It aims at obtaining 'cleaner' factor matrices, by the introduction of an offset matrix, explicitly modelling a feature specific baseline – constant across samples.
Object of class NMFOffset
can be created using the standard way with
operator new
However, as for all the classes that extend class NMFstd
,
objects of class NMFOffset
should be created using factory method
newNMF
:
new('NMFOffset')
newNMF(model='NMFOffset')
newNMF(model='NMFOffset', W=w, offset=rep(1, nrow(w)))
See newNMF
for more details on how to use the factory method.
Class NMFOffset
extends NMF
adding a single slot:
offset
:"numeric"
vector to handle the common baseline
for each feature. Its length will always be equal to the number of features,
i.e. the number of rows in slot W
.
Class "NMF"
, directly.
signature(object = "NMFOffset")
:
returns the estimated target matrix according to the NMF with Offset model
object
:
\hat{V} = W H + offset
Note that this method is part of the minimum interface for NMF model, as
defined by class NMF
.
initialize
method for class NMFOffset
. It
ensures consistency between slots W
and slot offset
. signature(object = "NMFOffset")
: return the value of
slot offset
.W
, H
and
offset
filled with random values drawn from a uniform distribution.
This method first calls method random
for NMF
object to set the
entries of slots W
and H
, then sets the entries in slot
offset
within the interval [0, max(max(W),max(H))]
. signature(object = "NMFOffset")
: standard generic show
method for objects of class NMFOffset
. It calls the parent class show
method
(i.e. for class NMF
) and add the value of vector offset
to the display (only the first
five elements are displayed).
Renaud Gaujoux renaud@cbio.uct.ac.za
Badea (2008). Extracting Gene Expression Profiles Common To Colon And Pancreatic Adenocaricinoma Using Simultaneous Nonnegative Matrix Factorization. In Pacific Symposium on Biocomputing , 13, 279-290
# create a completely empty NMF object new('NMFOffset') # create a NMF object based on random (compatible) matrices n <- 50; r <- 3; p <- 20 w <- matrix(runif(n*r), n, r) h <- matrix(runif(r*p), r, p) newNMF(model='NMFOffset', W=w, H=h, offset=rep(0.5, nrow(w))) # apply Nonsmooth NMF algorithm to a random target matrix V <- matrix(runif(n*p), n, p) ## Not run: nmf(V, r, 'offset')