Structured Graph Learning for Clustering and Semi-supervised Classification