Sparse non-negative matrix factorizations via alternating non-negativity-constrained least squares for microarray data analysis