Manifold Learning Algorithm