PCA++: How Uniformity Induces Robustness to Background Noise in Contrastive Learning

Mingqi Wu, Qiang Sun, Yi Yang
11/15/2025
stat.MLcs.LG

No official code found. Best implementation: archer-yang-lab/pcapp (2 stars, last commit 2025-10-14).

Abstract

High-dimensional data often contain low-dimensional signals obscured by structured background noise, which limits the effectiveness of standard PCA. Motivated by contrastive learning, we address the problem of recovering shared signal subspaces from positive pairs, paired observations sharing the same signal but differing in background. Our baseline, PCA+, uses alignment-only contrastive learning and succeeds when background variation is mild, but fails under strong noise or high-dimensional regimes. To address this, we introduce PCA++, a hard uniformity-constrained contrastive PCA that enforces identity covariance on projected features. PCA++ has a closed-form solution via a generalized eigenproblem, remains stable in high dimensions, and provably regularizes against background interference. We provide exact high-dimensional asymptotics in both fixed-aspect-ratio and growing-spike regimes, showing uniformity's role in robust signal recovery. Empirically, PCA++ outperforms standard PCA and alignment-only PCA+ on simulations, corrupted-MNIST, and single-cell transcriptomics, reliably recovering condition-invariant structure. More broadly, we clarify uniformity's role in contrastive learning, showing that explicit feature dispersion defends against structured noise and enhances robustness.

View on arXivView PDF

Code Implementations(1)

python code for pca++: How Uniformity Induces Robustness to Background Noise in Contrastive Learning

20Jupyter NotebookOct 14, 20251 years ago

Similar Papers

Cite this paper

@article{wu2025pca,
  title  = {PCA++: How Uniformity Induces Robustness to Background Noise in Contrastive Learning},
  author = {Mingqi Wu and Qiang Sun and Yi Yang},
  year   = {2025},
  eprint = {2511.12278},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2511.12278v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2511.12278.svg)](https://codeofpaper.com/paper/2511.12278)

Discussion