Contributions to Unsupervised and Semi-Supervised Learning