An algorithm for learning non-linear low-dimensional representations from massive high-dimensional data sets.