Semi-supervised Learning with Penalized Probabilistic Clustering