Non-linear Techniques for Manifold Learning