跳转至

t-SNE Exaggerates Clusters, Provably

会议: ICLR 2026
arXiv: 2510.07746
代码: https://github.com/njbergam/tsne-exaggerates-clusters
领域: 数据可视化 / 理论分析
关键词: t-SNE, 聚类夸大, 降维, 可视化误导, 离群点

一句话总结

从理论上严格证明 t-SNE 存在两个根本性失败模式:(1)无法从输出推断输入聚类的强度,(2)无法忠实地展示极端离群点——即使输入毫无聚类结构或存在极端离群点,t-SNE 也可能产生完美聚类的可视化。

研究背景与动机

  • t-SNE 的广泛使用:t-SNE 是探索性数据分析的标配工具,广泛用于单细胞基因组学、语言模型可解释性等领域
  • 现有理论:已证明 t-SNE 对良好分离的聚类输入能产生保持聚类结构的输出(真阳性保证)
  • 理论空白:关于假阳性(无聚类输入但输出有聚类)和假阴性(有聚类输入但输出无聚类)的理论分析一直缺失
  • 科学影响:t-SNE 输出直接影响假设生成、实验设计和科学结论

方法详解

整体框架

本文不提出新算法,而是对标准 t-SNE 做严格的负面理论分析:先把 t-SNE 写成在输入亲和度 \(P\) 与输出亲和度 \(Q\) 之间最小化 KL 散度的优化问题,再围绕"什么样的输入会被映射到什么样的输出"刻画其驻点结构,由此构造反例证明两类失败——聚类强度不可从输出推断、极端离群点无法被忠实展示。具体地,输入亲和度由各点自适应带宽 \(\sigma_i\) 的高斯核给出 \(P_{j|i}(X;\sigma_i)=\frac{\exp(-\|x_j-x_i\|^2/(2\sigma_i^2))}{\sum_{k\neq i}\exp(-\|x_k-x_i\|^2/(2\sigma_i^2))}\),输出亲和度用重尾 t-分布 \(Q_{ij}(Y)=\frac{(1+\|y_i-y_j\|^2)^{-1}}{\sum_{k\neq l}(1+\|y_k-y_l\|^2)^{-1}}\),优化目标为 \(\mathcal{L}_X(Y):=\text{KL}(P(X)\|Q(Y))\),分析全部建立在该目标的驻点之上。

关键设计

本文是纯理论的负面分析,没有可画的 pipeline;下面四个设计点按「先找出病根(加法不变性)→ 由病根推出两类失败 → 把存在性反例落地成攻击」的逻辑链层层递进。

1. 加法不变性:所有误导行为的总根源

t-SNE 之所以会骗人,根子在一个长期被忽视、本文重新挖出来的性质:它不仅对输入平方距离具有乘法尺度不变性,还具有加法平移不变性。只要把所有点对的平方距离统一加上常数 \(C\),即 \(\|x'_i-x'_j\|^2=\|x_i-x_j\|^2+C\),每个点的自适应带宽 \(\sigma_i\) 会在重新归一化时把这个平移整个吸收掉,于是 \(\text{t-SNE}_\rho(X)=\text{t-SNE}_\rho(X')\) 对任意 perplexity \(\rho\) 都成立(引理 17)。换句话说,"把整体距离结构抬高或压低"对输出毫无影响——存在一整条肉眼差异巨大、t-SNE 却完全看不出区别的输入等价类。后面两类失败本质上都是在这条等价类上构造反例。

2. 失败模式一:聚类强度无法从输出推断

第一类失败说的是:一张漂亮的聚类图,既反推不出输入分得有多开,也对输入的微小扰动毫不稳健——两个方向都断了输入与输出之间的对应。

正向上,利用加法不变性可以构造"冒名"(impostor)数据集,让任意弱聚类输入产生与强聚类输入完全相同的可视化:只要不断"抬高"点对距离,就能把输入推向接近正则单纯形(几乎无聚类结构)而保持视觉轮廓不变。定理 3 表明,对任意 \(0<\epsilon\leq 1\) 都存在 \(X_\epsilon\),其聚类显著度被压到 \(\bar{\mathcal{S}}(X_\epsilon;C_{m\in[k]})=\epsilon\cdot\bar{\mathcal{S}}(X;C_{m\in[k]})\),却满足 \(\text{t-SNE}_\rho(X)=\text{t-SNE}_\rho(X_\epsilon)\);推论 4 进一步给出一整族轮廓系数从 \(\epsilon\) 连续取到 \(1\)、却共享完全相同 t-SNE 驻点集合的数据集。

反向上,输入的微小差异又会被放大成截然不同的图。定理 5 构造出两个数据集 \(X,X'\),所有点对距离之比都落在 \([1-\epsilon,1+\epsilon]\) 内(距离上几乎不可区分),t-SNE 输出却天差地别;引理 6 更进一步:仅由近似正则单纯形构成的数据集族 \(\Delta_\epsilon\)(点彼此等距、毫无聚类结构)就足以覆盖所有可能的 t-SNE 驻点输出。"无结构"的输入因此可以被解读成任何结构。两个方向合起来说明:输入聚类强度与输出图样之间根本不存在稳定映射,而很多高维数据恰恰因测度集中落在近单纯形区间,正是最不稳定的情形。

3. 失败模式二:极端离群点无法被忠实展示

第二类失败针对离群点的呈现。定理 9 给出一个与输入完全无关的硬上界:对任何 t-SNE 输出 \(Y\),衡量"最离群点离主簇多远"的度量 \(\alpha(Y)\leq 3.266+o_n(1)\)。也就是说,无论输入里的离群点实际离主簇多远,输出里能画出的离群程度都被钉死在约 \(3.3\) 以下,画不出"一个点孤悬在外"的图。根源在于亲和度的非对称归一化——输入侧 \(P\) 按行自适应归一化、输出侧 \(Q\) 全局归一化,这种不对称让任何点都无法在低维图里真正孤立出去。实践中更糟:远处离群点往往直接被主簇吸收。这正是 t-SNE 不适合做离群点检测的理论解释。

4. 单点毒化:在数据均值处加一个点即可摧毁全图

上述脆弱性可以被对抗性地利用:只需添加一个放在数据均值处的"毒化点",就足以瓦解整张聚类可视化。它在高维下尤其致命——由于测度集中,高维高斯混合本身就近似正则单纯形,放在均值处的毒化点会成为绝大多数样本的最近邻,从而大幅改写输入亲和度矩阵 \(P\)、把原本清晰的簇结构抹平。这相当于把前两个失败模式从"存在性反例"落地成一个可操作的攻击:实验中 400 点 × 2000 维高斯混合加一个毒化点即可让两簇结构完全消失,而注入多达 50% 的普通离群点却几乎无影响。

实验验证

冒名数据集实验

度量 原始 PBMC3k 冒名数据集
t-SNE 可视化 清晰聚类 几乎相同的聚类
轮廓系数 高(原始) 极低
最近邻排序 正常 保持不变

毒化攻击实验

  • 400 点 × 2000 维高斯混合 → 添加 1 个毒化点 → 聚类结构完全消失
  • BBC 新闻数据集:注入 10% 毒化点 → 轮廓系数减半
  • 相比之下:注入 50% 的离群点对聚类结构几乎无影响

离群点实验

数据集 t-SNE 中的 α PCA 中的 α
金融欺诈数据 ~0.2 保持分离
高斯+离群点 ~0.1 忠实还原

亮点与洞察

  1. 首个 t-SNE 失败模式的理论分析:此前仅有经验观察,本文提供严格证明
  2. 加法不变性的发现:揭示了 t-SNE 误导行为的根本原因
  3. 实用启示
    • 不能从 t-SNE 的聚类可视化推断输入的聚类强度
    • t-SNE 不适合离群点检测
    • 高维数据上 t-SNE 尤其不稳定(因接近正则单纯形)
  4. PCA 作为互补:在离群点检测和稳定性方面 PCA 显著优于 t-SNE

局限性

  • 理论结果基于驻点分析,实际 t-SNE 输出依赖优化路径(可能避开某些驻点)
  • 贡献偏数学理论,算法改进建议较少
  • 主要关注 t-SNE,对 UMAP 等方法仅做了初步实验

相关工作

  • t-SNE 理论:Arora et al. 2018(聚类保持保证)、Cai & Ma 2022(优化阶段分析)
  • t-SNE 批评:Chari & Pachter 2023(不可靠的探索性分析工具)
  • 一般降维理论:Snoeck et al. 2026(任何常数维嵌入必然失真)

评分

  • 创新性: ⭐⭐⭐⭐⭐ — 首个严格的 t-SNE 失败模式理论分析
  • 技术深度: ⭐⭐⭐⭐⭐ — 证明精美,加法不变性的发现深刻
  • 实验充分性: ⭐⭐⭐⭐ — 理论与实验紧密结合
  • 实用价值: ⭐⭐⭐⭐ — 对实际使用 t-SNE 的科研人员有重要警示意义