Foundations of Manifold Learning