Неотрицательная матричная факторизация (NMF) - метод уменьшения размерности, основанный на низкоранговой аппроксимации пространства признаков. Помимо сокращения количества признаков, NMF гарантирует, что признаки являются неотрицательными, создавая аддитивные модели, которые учитывают, например, неотрицательность физических величин.
Учитывая неотрицательную матрицу m-на-n X и положительное целое число k < min (m, n), NMF находит неотрицательные матрицы m-на-k и k-на-n соответственно W и H, которые минимизируют норму разности X - WH. Таким образом, W и H являются приблизительными неотрицательными факторами X.
K столбцов W представляют преобразования переменных в X; k строк H представляют коэффициенты линейных комбинаций исходных n переменных в X, которые производят преобразованные переменные в W. Поскольку k обычно меньше ранга X, продукт WH обеспечивает сжатую аппроксимацию данных в X. Диапазон возможных значений для k часто предлагается контекстом моделирования.
Функция nnmf осуществляет неотрицательную факторизацию матрицы. nnmf использует один из двух итеративных алгоритмов, начинающихся со случайных начальных значений для W и H. Поскольку норма остаточного X - WH может иметь локальные минимумы, повторные вызовы nnmf может давать различные факторизации. Иногда алгоритм сходится к решению ранга ниже k, что может указывать на то, что результат не является оптимальным.