| NTD | R Documentation | 
The input data is assumed to be non-negative tensor. NTD decompose the tensor to the dense core tensor (S) and low-dimensional factor matices (A).
NTD(X, M=NULL, pseudocount=.Machine$double.eps, initS=NULL, initA=NULL,
  fixS=FALSE, fixA=FALSE, L1_A=1e-10, L2_A=1e-10,
  rank = rep(3, length=length(dim(X))),
  modes = seq_along(dim(X)),
  algorithm = c("Frobenius", "KL", "IS", "Pearson", "Hellinger", "Neyman",
    "HALS", "Alpha", "Beta", "NMF"), init = c("NMF", "ALS", "Random"),
  nmf.algorithm = c("Frobenius", "KL", "IS", "Pearson", "Hellinger", "Neyman",
    "Alpha", "Beta", "ALS", "PGD", "HALS", "GCD", "Projected", "NHR", "DTPP",
    "Orthogonal", "OrthReg"),
  Alpha = 1,
  Beta = 2, thr = 1e-10, num.iter = 100, num.iter2 = 10, viz = FALSE,
  figdir = NULL, verbose = FALSE)
| X | K-order input tensor which has I_1, I_2, ..., and I_K dimensions. | 
| M | K-order mask tensor which has I_1, I_2, ..., and I_K dimensions. If the mask tensor has missing values, specify the element as 0 (otherwise 1). | 
| pseudocount | The pseudo count to avoid zero division, when the element is zero (Default: Machine Epsilon). | 
| initS | The initial values of core tensor which has I_1, I_2, ..., and I_K dimensions (Default: NULL). | 
| initA | A list containing the initial values of K factor matrices (A_k, <Ik*Jk>, k=1..K, Default: NULL). | 
| fixS | Whether the core tensor S is updated in each iteration step (Default: FALSE). | 
| fixA | Whether the factor matrices Ak are updated in each iteration step (Default: FALSE). | 
| L1_A | Paramter for L1 regularitation (Default: 1e-10). This also works as small positive constant to prevent division by zero, so should be set as 0. | 
| L2_A | Paramter for L2 regularitation (Default: 1e-10). | 
| rank | The number of low-dimension in each mode (Default: 3 for each mode). | 
| modes | The vector of the modes on which to perform the decomposition (Default: 1:K <all modes>). | 
| algorithm | NTD algorithms. "Frobenius", "KL", "IS", "Pearson", "Hellinger", "Neyman", "HALS", "Alpha", "Beta", "NMF" are available (Default: "Frobenius"). | 
| nmf.algorithm | NMF algorithms, when the algorithm is "NMF". "Frobenius", "KL", "IS", "Pearson", "Hellinger", "Neyman", "Alpha", "Beta", "ALS", "PGD", "HALS", "GCD", "Projected", "NHR", "DTPP", "Orthogonal", and "OrthReg" are available (Default: "Frobenius"). | 
| init | The initialization algorithms. "NMF", "ALS", and "Random" are available (Default: "NMF"). | 
| Alpha | The parameter of Alpha-divergence. | 
| Beta | The parameter of Beta-divergence. | 
| thr | When error change rate is lower than thr1, the iteration is terminated (Default: 1E-10). | 
| num.iter | The number of interation step (Default: 100). | 
| num.iter2 | The number of NMF interation step, when the algorithm is "NMF" (Default: 10). | 
| viz | If viz == TRUE, internal reconstructed tensor can be visualized. | 
| figdir | the directory for saving the figure, when viz == TRUE (Default: NULL). | 
| verbose | If verbose == TRUE, Error change rate is generated in console windos. | 
S : K-order tensor object, which is defined as S4 class of rTensor package. A : A list containing K factor matrices. RecError : The reconstruction error between data tensor and reconstructed tensor from S and A. TrainRecError : The reconstruction error calculated by training set (observed values specified by M). TestRecError : The reconstruction error calculated by test set (missing values specified by M). RelChange : The relative change of the error.
Koki Tsuyuzaki
Yong-Deok Kim et. al., (2007). Nonnegative Tucker Decomposition. IEEE Conference on Computer Vision and Pattern Recognition
Yong-Deok Kim et. al., (2008). Nonneegative Tucker Decomposition With Alpha-Divergence. IEEE International Conference on Acoustics, Speech and Signal Processing
Anh Huy Phan, (2008). Fast and efficient algorithms for nonnegative Tucker decomposition. Advances in Neural Networks - ISNN2008
Anh Hyu Phan et. al. (2011). Extended HALS algorithm for nonnegative Tucker decomposition and its applications for multiway analysis and classification. Neurocomputing
plotTensor3D
tensordata <- toyModel(model = "Tucker")
out <- NTD(tensordata, rank=c(2,2,2), algorithm="Frobenius",
  init="Random", num.iter=2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.