AnchorFree {vrnmf} | R Documentation |
Non-negative tri-factorization of co-occurence matrix using minimum volume approach.
Description
AnchorFree
method tri-factorizes (co-occurence) matrix in a product P ~ C*E*t(C)
of non-negative matrices C
and E
such that matrix E
has mininum volume and columns of matrix C
equal to 1.
Usage
AnchorFree(
vol,
n.comp = 3,
init = NULL,
init.type = "diag",
n.iter = 30,
err.cut = 1e-30,
verbose = FALSE
)
Arguments
vol |
An output object of vol_preprocess(). The method factorizes co-occurence matrix |
n.comp |
An integer. Number of components to extract (by default 3). Defines number of columns in matrix |
init |
A numeric matrix. Initial matrix |
init.type |
A character. A strategy to randomly initialize matrix 1) generate diagonal unit matrix ("diag"), 2) use ICA solution as initialization ("ica", "ica.pos"). or sample entries from: 3) uniform distribution 4) unform distribution 5) uniform distribution 6) normal distribution |
n.iter |
An integer. Number of iterations. (default=30) |
err.cut |
A numeric. Relative error in determinant between iterations to stop algorithm (now is not used). (default=1e-30) |
verbose |
A boolean. Print per-iteration information (default=FALSE) |
Details
Implementation closely follows (Fu X et al., IEEE Trans Pattern Anal Mach Intell., 2019).
Value
List of objects:
C
, E
Factorization matrices.
Pest
Estimate of vol$P
co-occurence matrix Pest = C*E*t(C)
.
M
, detM
auxiliary matrix M
and its determinant.
init.type
type of initialization of matrix M
that was used.
Examples
small_example <- sim_factors(5, 5, 5)
vol <- vol_preprocess(t(small_example$X))
vol.anchor <- AnchorFree(vol)