View source: R/volnmf_estimate.R
volnmf_main | R Documentation |
volnmf_main
enables volume-regularized factorization of a matrix B
using the following objective function:
F = ||B*Q - C*R||^2 + w.vol*volume(R). Matrix C
is required to be non-negative and having either column or row vectors on the simplex.
Matrix R
can optionally have non-negativity constraint. Matrix Q
can optionally be identity matrix or any unitary.
The latter option is used to decompose co-occurence matrix vol_P
.
volnmf_main( vol, B = NULL, volnmf = NULL, n.comp = 3, n.reduce = n.comp, do.nmf = TRUE, iter.nmf = 100, seed = NULL, domain = "covariance", volf = "logdet", wvol = NULL, delta = 1e-08, n.iter = 500, err.cut = 1e-16, vol.iter = 20, c.iter = 20, extrapolate = TRUE, accelerate = FALSE, acc.C = 4/5, acc.R = 3/4, C.constraint = "col", C.bound = 1, R.constraint = "pos", R.majorate = FALSE, C.init = NULL, R.init = NULL, Q.init = NULL, anchor = NULL, Ctrue = NULL, verbose = TRUE, record = 100, verbose.nmf = FALSE, record.nmf = NULL, mutation.run = FALSE )
vol |
An output object of vol_preprocess(). |
B |
A numeric matrix. A matrix to factorize (by default NULL). If not given than matrix |
volnmf |
An output object of |
n.comp |
An integer. Number of components to extract (by default 3). Defines number of columns in matrix C. |
n.reduce |
An integer. Dimensional reduction of matrix B (number of columns) if taken as a square root decomposition of |
do.nmf |
A boolean. Estimate standard solution with |
iter.nmf |
An integer. Number of iterations to get solution with |
seed |
An integer. Fix seed. |
domain |
A character. Optimize unitary rotation matrix |
volf |
A character. Function that approximate volume. Can have values of "logdet" or "det" (by default "logdet"). |
wvol |
A numeric. A weight of volume-regularized term |
delta |
A numeric. Logdet regularization term |
n.iter |
An integer. Number of iterations (by default |
err.cut |
A numeric. Relative error in determinant between iterations to stop algorithm (by default |
vol.iter |
An integer. Number of iterations to update volume-regularized matrix |
c.iter |
An integer. Number of iterations to update simplex matrix |
extrapolate |
A numeric. Do Nesterov extrapolation inside blocks of R and C optimization (by default TRUE). |
accelerate |
A numeric. Do acceleration each update after R and C blocks estimated via Nesterov-like extrapolation. |
acc.C |
A numeric. Acceleration parameter of matrix C. |
acc.R |
A numeric. Acceleration parameter of matrix R. |
C.constraint |
A character. Constraint either sum of columns ("col") or sum of rows ("row) to be equal to |
C.bound |
A numeric. A simplex constraint on matrix C vectors. |
R.constraint |
A character. Set up non-negativity ("pos") constraint on elements of |
R.majorate |
A boolean. Majorate logdet each iteration of |
C.init |
Numeric matrices. Initialization of matrices |
R.init |
Numeric matrices. Initialization of matrices |
Q.init |
Numeric matrices. Initialization of matrices |
anchor |
An output object of |
Ctrue |
A matrix. Correct matrix C if known. Useful for benchmark. |
verbose |
A boolean. Print per-iteration information (by default FALSE). |
record |
A numeric. Record parameters every 'record' iterations (by default |
verbose.nmf |
A boolean. Print per-iteration information for standard NMF (by default FALSE). |
record.nmf |
A numeric. Record parameters every 'record' iterations for standard NMF (by default |
mutation.run |
A boolean. Assess goodness of solution using reflection test if mutation.run=TRUE (applicable only to analysis of mutation patterns). |
List of objects:
C, R, Q
Factorization matrices.
C.init, R.init, Q.init
Initialization matrices for volume-regularized optimization.
C.rand, R.rand, Q.rand
Random initialization matrices for NMF optimization (w.vol=0)
.
rec
a list of objects that record and store state of matrices each record
iterations.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.