Random_vcol (methods.seeding.random_vcol)

Random Vcol [Albright2006] is inexpensive initialization method for nonnegative matrix factorization. Random Vcol forms an initialization of each column of the basis matrix (W) by averaging p random columns of target matrix (V). Similarly, Random Vcol forms an initialization of each row of the mixture matrix (H) by averaging p random rows of target matrix (V). It makes more sense to build the basis vectors from the given data than to form completely random basis vectors, as random initialization does. Sparse matrices are built from the original sparse data.

Method’s performance lies between random initialization and centroid initialization, which is built from the centroid decomposition.

class nimfa.methods.seeding.random_vcol.Random_vcol

Bases: object

initialize(V, rank, options)

Return initialized basis and mixture matrix. Initialized matrices are of the same type as passed target matrix.

Parameters:
  • V (One of the scipy.sparse sparse matrices types or or numpy.matrix) – Target matrix, the matrix for MF method to estimate.
  • rank (int) – Factorization rank.
  • options (dict) –

    Specify the algorithm and model specific options (e.g. initialization of extra matrix factor, seeding parameters).

    Option p_c represents the number of columns of target matrix used to average the column of basis matrix. Default value for p_c is 1/5 * (target.shape[1]).

    Option p_r represent the number of rows of target matrix used to average the row of basis matrix. Default value for p_r is 1/5 * (target.shape[0]).

Fork me on GitHub