tTUCKER {tensorBSS} | R Documentation |
Tucker (2) Transformation for a Tensor
Description
This is a Tucker (2) transformation of a data tensor where the sampling dimension is uncompressed. The transfromation is known also under many different names like multilinear principal components analysis or generalized low rank approximation of matrices if the tensorial data is matrixvalued.
Usage
tTUCKER(x, ranks, maxiter = 1000, eps = 1e-06)
Arguments
x |
array with |
ranks |
vector of length r giving the dimensions of the compressed core tensor. |
maxiter |
maximum number of iterations for the algorithm. |
eps |
convergence tolerance. |
Details
As initial solution tPCA
is used and iterated using an alternating least squares (ALS) approach, known also as higher order orthogonal iteration (HOOI).
Value
A list containing the following components:
S |
array of the compressed tensor. |
U |
list containing the rotation matrices. |
Xmu |
the data location. |
norm2xc |
squared norm of the original data tensor after centering. |
norm2rxc |
squared norm of the reconstructed (centered) data tensor. |
norm2ratio |
the ratio norm2rxc/norm2xc. |
mEV |
list containing the eigenvalues from the m-mode covariance matrix when all but the relevant mode have be compressed. |
tPCA |
The output from |
Author(s)
Klaus Nordhausen
References
Lu, H., Plataniotis, K. and Venetsanopoulos, A. (2008), MPCA: Multilinear principal component analysis of tensor objects, IEEE Transactions on Neural Networks, 19, 18-39. doi: 10.1109/TNN.2007.901277
Lietzen, N., Nordhausen, K. and Virta, J. (2019), Statistical analysis of second-order tensor decompositions, manuscript.
See Also
Examples
data(zip.train)
x <- zip.train
rows <- which(x[, 1] == 0 | x[, 1] == 1)
x0 <- x[rows, 2:257]
y0 <- x[rows, 1] + 1
x0 <- t(x0)
dim(x0) <- c(16, 16, 2199)
tucker <- tTUCKER(x0, ranks = c(2, 2), eps=1e-03)
pairs(t(apply(tucker$S, 3, c)), col=y0)
# To approximate the original data one uses then
x0r <- tensorTransform2(tucker$S, tucker$U)