Graph Based Semi-Supervised Classification and Manifold Learning