Non-negative Matrix Factorization (NMF) je populární algoritmus strojového učení, který se používá k rozložení nezáporné matice na dva nezáporné faktory. Faktory jsou obvykle různé velikosti, přičemž jeden představuje aproximaci původní matice a druhý představuje nezáporné složky. NMF lze použít k identifikaci vzorců v datech, které lze použít pro úlohy, jako je shlukování, učení metriky a modelování témat.
NMF byl poprvé navržen Paatero a Tapper (1994) a od té doby se stal populární technikou ve strojovém učení díky své schopnosti produkovat interpretovatelné funkce a své odolnosti vůči šumu. Ve srovnání s jinými metodami maticové faktorizace je NMF odolnější vůči overfittingu díky svému omezení na nezápornost, což pomáhá kontrolovat složitost modelu a zabraňuje tomu, aby se jeho učení rozcházelo.
NMF byl aplikován na různé počítačové aplikace, včetně počítačového vidění pro odšumování obrazu a identifikaci obličeje, zpracování přirozeného jazyka pro shlukování dokumentů a vyhledávací dotazy a bioinformatiku pro genové shluky a analýzu struktury proteinů. Kromě toho se NMF používá v inženýrských aplikacích, jako je zpracování signálu a identifikace systému.
Tato technika má několik výhod oproti jiným metodám, včetně její schopnosti zpracovávat komplikované datové sady s chybějícími hodnotami, extrahovat smysluplné funkce z dat a produkovat vysoce interpretovatelné výsledky. Navzdory svému úspěchu má NMF určitá omezení, jako je jeho neschopnost přesně zachytit složité struktury v datech a požadavek, aby vstupní data nebyla negativní.
NMF se stal oblíbeným nástrojem pro datově řízené aplikace, jako jsou doporučovací systémy a segmentace zákazníků. Tato technika je výkonným nástrojem pro odhalování informací z dat, která byla dříve nedostupná, a lze ji použít v mnoha typech aplikací ke snížení složitosti a odhalení vzorců a vztahů v datech.