CUR {ccTensor} R Documentation

CUR Matrix Decomposition

Description

The input data is assumed to be a matrix. CUR decomposes the matrix to three low-dimensional factor matices. C and R are not estimated values but the actual column and row vectors sampled from the matrix.

Usage

CUR(A, c.rank=NULL, r.rank=NULL, thr=0.9,
c.method=c("best.match", "random", "exact.num.random", "top.scores"),
u.method=c("invCR", "invW"),
r.method=c("best.match", "random", "exact.num.random", "top.scores"))

Arguments

 A The input matrix which has N-rows and M-columns. c.rank The number of low-dimension of C (J1 < N,M). If this argument is not specified or specified as NULL, the low-dimension is estimated based on the cumulative singular value (Default: NULL). r.rank The number of low-dimension of R (J2 < N,M). If this argument is not specified or specified as NULL, the low-dimension is estimated based on the cumulative singular value (Default: NULL). thr The threshold to determine the low-dimension J1 and J2. The value must be range 0 to 1 (Default: 0.9). c.method The column sampling algorithm (Default: best.match). u.method The algorithm to calculate U (Default: invCR). r.method The row sampling algorithm (Default: best.match).

Value

C: A N-rows and J1-columns matrix contains the sampled column vectors from the input matrix A. U: A J1-rows and J2-columns matrix. R: A J2-rows and M-columns matrix contains the sampled row vectors from the input matrix A. indC: The sampled column indices. indC: The sampled row indices. RecError : The reconstruction error between data matrix and reconstructed matrix from C and X.

Koki Tsuyuzaki

References

Michael W. Mahoney, et. al., (2009). CUR matrix decompositions for improved data analysis. PNAS

Examples

library("ccTensor")
library("nnTensor")
# Test data
matdata <- toyModel(model = "NMF")
# Simple usage
out <- CUR(matdata, c.rank=3, r.rank=4)

[Package ccTensor version 1.0.2 Index]