Nonlinear Dimensionality Reduction with UMAP

Report | GitHub repository

This course project for MA4270 Data Modelling and Computation was my first systematic study of manifold learning and nonlinear dimensionality reduction.

UMAP and parametric UMAP

I focused on UMAP and parametric UMAP. In addition to the papers, I studied the reference implementation and documentation, then wrote a PyTorch implementation for learning purposes. The report develops the attractive and repulsive forces in the embedding objective and makes explicit how their balance changes with the fuzzy-graph weight $p_{ij}$.

Estimating intrinsic dimension

I also used probabilistic PCA on local neighborhoods to approximate tangent spaces and estimate intrinsic dimension. The underlying observation is that an $n$-dimensional smooth manifold has an $n$-dimensional tangent space. For a chart $\phi:U_\alpha\to\mathbb{R}^n$, the differential

\[d\phi_p:T_pM\longrightarrow T_{\phi(p)}\mathbb{R}^n\]

is a linear isomorphism. The following diagram expresses the equivalent construction through derivations on germs of smooth functions:

Commutative Diagram

Consequently,

\[T_{\phi(p)}(\mathbb{R}^n) = \text{span}\left(\left{\frac{\partial}{\partial x_1}, \ldots, \frac{\partial}{\partial x_n}\right}\right)\]

has dimension $n$. Locally fitting a low-rank probabilistic PCA model is therefore a practical way to estimate the dimension of a sampled manifold, provided that the neighborhood is small enough to be approximately linear and large enough to overcome noise.

Reflection

This topic interested me because non-Euclidean configuration spaces arise naturally in robotics. I also wondered whether a force-directed embedding could warp inputs into a geometry better suited to stationary Gaussian-process kernels. An axis-aligned transformation such as a Beta-CDF input warp cannot represent general geometric distortion, but applying UMAP directly would make out-of-sample prediction and uncertainty propagation difficult. Deep kernel learning is probably the more direct formulation of that idea. The implementation in this project is educational rather than production-oriented; for practical use, I recommend the official UMAP package.