Discriminative Similarity for Clustering and Semi-Supervised Learning