Iterative Double Clustering for Unsupervised and Semi-Supervised Learning