Пример неотрицательного тензорного разложения с использованием Тензорли - PullRequest
0 голосов
/ 17 апреля 2019

Я очень новичок в тензор , а также тензор Библиотека. Я сталкиваюсь с одним из лучших примеров тензорного разложения на jeankossaifi , но мне нужно Пример тензорной функции non_negative_tucker () для тензорной декомпозиции путем расширения примера по ссылке выше (для набора данных Olivetti).

1 Ответ

0 голосов
/ 18 апреля 2019

Интерфейс почти такой же, как у robust_pca one.

Давайте создадим случайный пример тензора X,:

import tensorly as tl
import numpy as np

X = tl.tensor(np.random.random((10, 11, 12)))

Вы бы подали заявкуНадежный тензорный PCA выглядит следующим образом:

from tensorly.decomposition import robust_pca

D, E = robust_pca(X)

Это дает вам тензор низкого ранга D и разреженный E, такой что D + E = X (приблизительно).

Вместо этого неотрицательный Такер вернет вам неотрицательное ядро ​​и некоторые неотрицательные факторы.Обратите внимание, что теперь вы должны также указать ранг для декомпозиции.

from tensorly.decomposition import non_negative_tucker
core, factors = non_negative_tucker(X, rank=(12, 12, 12), n_iter_max=1000)

Вы можете восстановить тензор, используя их, и проверить ошибку восстановления:

reconstruction = tl.tucker_to_tensor(core, factors)
error = tl.norm(reconstruction - X)/tl.norm(X)

Вы можете иметьпосмотрите на страницу API для этой функции.

...