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 vol$P.

n.comp

An integer. Number of components to extract (by default 3). Defines number of columns in matrix C. (default=3)

init

A numeric matrix. Initial matrix M. (default=3)

init.type

A character. A strategy to randomly initialize matrix M. (default="diag") Options are to

1) generate diagonal unit matrix ("diag"),

2) use ICA solution as initialization ("ica", "ica.pos").

or sample entries from:

3) uniform distribution [0,1] ("unif.pos"),

4) unform distribution [-1,1],

5) uniform distribution [0.9,1.1] ("similar"),

6) normal distribution N(0,1).

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)


[Package vrnmf version 1.0.2 Index]