Как заставить разреженность на H в sklearn.decomposition.NMF, учитывая, что X ~=W*H?

Мне нужно сделать H разреженным, а именно: учитывая X ~= W*H, мы хотим, чтобы H было разреженным.

 model1 = NMF(n_components=rank, init='random', random_state=0, max_iter=9000)
    W = model1.fit_transform(X)
    H = model1.components_

Глядя на scikit docs, я не вижу, как это можно сделать, но я надеюсь, что что-то упустил, отсюда и этот вопрос / пост.

Я знаком с словарным обучением и sparcecoder от scikit, но это / те не ограничивают решение неотрицательным значением, которое требуется в сценарии, над которым я работаю (обработка аудиосигнала, потоки аддитивны).

Примером X является матрица [Частотные ячейки, временные ячейки], а W должен быть [F-ячейки, атомы], которая требует, чтобы H определялось как [атомы, образцы],

в частности: X[512, 10E6] ~= W[512, 32] * H[32, 10E6]

0 ответов

Другие вопросы по тегам