Неотрицательная матричная факторизация
[ множители, n -by m W,H] = nnmf(A,k)матрица A в неотрицательные факторы W (n -by- k) и H (k-by- 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] Берри, Майкл У., Мюррей Браун, Эми Н. Лэнгвилл, В. Пол Паука и Роберт Дж. Племмонс. «Алгоритмы и приложения для аппроксимации неотрицательной матричной факторизации». Вычислительная статистика и анализ данных 52, № 1 (сентябрь 2007 года): 155-73. https://doi.org/10.1016/j.csda.2006.11.006.