Branching embedding: A heuristic dimensionality reduction algorithm based on hierarchical clustering
Learning the parts of objects by non-negative matrix factorization