Неотрицательная матричная факторизация
[ учитывает n-by-m матричный W,H] = nnmf(A,k)A в неотрицательные факторы W (n-by-k) и H K- m). Факторизация не точна; W*H приближение более низкого ранга к A. Факторы W и H минимизируйте среднеквадратичную невязку D между A и W*H.
D = norm(A - W*H,'fro')/sqrt(n*m)Факторизация использует итеративный алгоритм начиная со случайных начальных значений для W и H. Поскольку среднеквадратичная невязка D может иметь локальные минимумы, повторенные факторизации могут дать к различному W и H. Иногда алгоритм сходится к решению более низкого ранга, чем k, который может указать, что результат не оптимален.
[ изменяет факторизацию с помощью одного или нескольких аргументов пары "имя-значение". Например, можно запросить повторенные факторизации установкой W,H] = nnmf(A,k,Name,Value)'Replicates' к целочисленному значению, больше, чем 1.
[1] Ягода, Майкл В., Мюррей Браун, Эми Н. Лэнгвилл, В. Пол Пока и Роберт Дж. Племмонс. “Алгоритмы и Приложения для Аппроксимированной Неотрицательной Матричной Факторизации”. Computational Statistics & Data Analysis 52, № 1 (сентябрь 2007): 155–73. https://doi.org/10.1016/j.csda.2006.11.006.