Non-negative Matrix Factorization(NMF)는 하나의 matrix를 다른 matrix들의 곱으로 추정하는, 즉 matrix factorization을 통해 matrix approximation을 수행하는 방법 중 하나이다. Matrix $V$가 있다면, $V \simeq WH^T$ 가 되도록 $W, H$를 찾는 것인데, 이 때 $W, H$의 각 element가 0 이상이 되도록 추정한다는 것이 NMF의 특징이다. $W, H$의 각 element가 모두 음수가 아니기 때문에, 당연히 $V$역시 음수가 아닌 양수 혹은 0으로 이루어진 matrix여야 한다. NMF은 어떤 특징들이 있을까?
$V \simeq WH^T$를 만족하는 $W, H$를 찾는 것이 목적이므로, 당연하게도 가장 기본적인 NMF의 cost function은 아래와 같이 정의할 수 있다.
\sum_{i, j} (V-WH^T)_{ij}^2 \;\;\; s.t. \;\; W \ge 0 \;,\; H \ge0$
좌측 항의 norm은 일반적인 vector norm이 아닌 matrix norm으로, matrix norm 중 가장 많이 사용되는 frobenius norm 이다. 목적에 따라 cost function에 regularization term이 포함되는 등 조금씩 달라지기도 한다고 한다.
Matrix $W, H$를 찾는 알고리즘 역시 다양하다. 그 중 가장 많이 사용되는 알고리즘은 Block Coordinate Descent(BCD) 방법이라고 하며 아래와 같은 방법으로 $W, H$가 업데이트 된다고 한다.
[출처] Short-Text Topic Modeling via Non-negative Matrix Factorization Enriched with Local Word-Context Correlations
NMF의 solution은 unique하지 않다. 예를 들어 임의의 invertible matrix $B$에 대해
$WH^T = WBB^{-1}H^T$
이 성립된다. 이 때 $\tilde{W} = WB\;,\;\; \tilde{H}^T=B^{-1}H^T$ 이고 $\tilde{W},\tilde{H}$이 모두 0 이상의 element로 구성되어 있다면, $\tilde{W},\tilde{H}$는 NMF의 새로운 solution이 된다. Sparsity constraints를 추가함으로써 이러한 non-uniqueness를 컨트롤할 수 있다고 한다.