tensorly.contrib.sparse.decomposition.non_negative_tucker

non_negative_tucker(tensor, rank, n_iter_max=10, init='svd', tol=0.0001, random_state=None, verbose=False, ranks=None)

Non-negative Tucker decomposition

Iterative multiplicative update, see [2]
Parameters:
tensorndarray
rankint

number of components

n_iter_maxint

maximum number of iteration

init{‘svd’, ‘random’}
random_state{None, int, np.random.RandomState}
verboseint , optional

level of verbosity

ranksNone or int list

size of the core tensor

Returns:
corendarray

positive core of the Tucker decomposition has shape ranks

factorsndarray list

list of factors of the CP decomposition element i is of shape (tensor.shape[i], rank)

References

[2]Yong-Deok Kim and Seungjin Choi, “Non-negative tucker decomposition”, IEEE Conference on Computer Vision and Pattern Recognition s(CVPR), pp 1-8, 2007