Nonnegative Matrix Factorization: A Comprehensive Review