Description Usage Arguments Details Value Note References See Also
View source: R/rTensor_Decomp.R
Decomposes nonnegative tensor tnsr
into core optionally nonnegative tensor Z
and sparse nonnegative factor matrices U[n]
.
1 2 3 4 5 
tnsr 
nonnegative tensor with 
ranks 
an integer vector of length 
core_nonneg 
constrain core tensor 
tol 
relative Frobenius norm error tolerance 
hosvd 
If TRUE, apply High Order SVD to improve initial U and Z 
max_iter 
maximum number of iterations if error stays above 
max_time 
max running time 
lambda 

L_min 
lower bound for Lipschitz constant for the gradients of residual error l(Z,U) = fnorm(tnsr  ttl(Z, U)) by 
rw 
controls the extrapolation weight 
bound 
upper bound for the elements of 
U0 
initial factor matrices, defaults to nonnegative Gaussian random matrices 
Z0 
initial core tensor 
verbose 
more output algorithm progress 
unfold_tnsr 
precalculate 
The function uses the alternating proximal gradient method to solve the following optimization problem:
\min 0.5 \tnsr  Z \times_1 U_1 … \times_K U_K \_{F^2} + ∑_{n=1}^{K} λ_n \U_n\_1 + λ_{K+1} \Z\_1, \;\textit{where}\; Z ≥q 0, \, U_i ≥q 0.
If core_nonneg
is FALSE
, core tensor Z
is allowed to have negative
elements and z_{i,j}=max(0,z_{i,j}λ_{K+1}/L_{K+1}) rule is replaced by z_{i,j}=sign(z_{i,j})max(0,z_{i,j}λ_{K+1}/L_{K+1}).
The method stops if either the relative improvement of the error is below the tolerance tol
for 3 consequitive iterations or
both the relative error improvement and relative error (wrt the tnsr
norm) are below the tolerance.
Otherwise it stops if the maximal number of iterations or the time limit were reached.
a list:
U
nonnegative factor matrices
Z
nonnegative core tensor
est
estimate Z \times_1 U_1 … \times_K U_K
conv
method convergence indicator
resid
the Frobenius norm of the residual error l(Z,U)
plus regularization penalty (if any)
n_iter
number of iterations
n_redo
number of times Z and U were recalculated to avoid the increase in objective function
diag
convergence info for each iteration
all_resids
residues
all_rel_resid_deltas
residue delta relative to the current residue
all_rel_resids
residue relative to the sqrt(tnsr)
The implementation is based on ntds() MATLAB code by Yangyang Xu and Wotao Yin.
Y. Xu, "Alternating proximal gradient method for sparse nonnegative Tucker decomposition", Math. Prog. Comp., 7, 3970, 2013.
http://www.caam.rice.edu/~optimization/bcu/
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.