t-SNE Exaggerates Clusters, Provably

该论文通过理论证明与实证分析指出,t-SNE 会夸大聚类效果,导致无法从输出结果中可靠地推断输入数据的聚类强度或异常点的极端程度。

Noah Bergam, Szymon Snoeck, Nakul Verma

发布于 2026-03-03
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文就像是一份给数据科学界的“紧急警报”,它揭示了一个我们非常依赖的工具——t-SNE(一种把复杂数据变成简单 2D 图表的魔法)——其实是个**“视觉魔术师”**,而且是个有点爱撒谎的魔术师。

简单来说,t-SNE 经常被用来把成千上万个高维度的数据点(比如基因数据、文章向量)压缩成一张 2D 的散点图,让我们一眼就能看出数据里有没有“团伙”(聚类)。大家一直以为:图上看起来像两个分开的团,那原始数据里肯定也是两个分开的团;图上看起来有个点孤零零地飘在外面,那原始数据里它肯定也是个特立独行的 outlier。

但这篇论文用数学证明:别太相信你的眼睛,t-SNE 经常骗人。

作者指出了两个最大的谎言:

谎言一:它会把“乌合之众”画成“铁板一块”

(关于聚类的夸大)

  • 日常比喻: 想象你在一个巨大的广场上,所有人都是随机站着的,彼此之间距离差不多,根本没有什么“小圈子”(这就是原始数据,很混乱)。
  • t-SNE 的魔法: 当你把这张图交给 t-SNE 处理,它会神奇地变出一张图,上面清晰地画出了两个分开的、紧密的“小团体”。
  • 真相: 原始数据里根本没有这两个团体!或者,即使原始数据里有一点点微弱的团体感,t-SNE 也能把它放大成看起来像“天壤之别”的两个大集团。
  • 更可怕的是: 作者证明,你可以构造一个“冒牌数据”,它的原始结构几乎是一团乱麻(就像一锅粥),但经过 t-SNE 处理后,它生成的图和原始数据里那些“超级完美、分得清清楚楚”的数据生成的图一模一样
  • 结论: 你看着图上的两个大团,根本没法判断原始数据里是“真的有两个大团”,还是“其实是一锅粥被强行画成了两个团”。t-SNE 会夸大聚类的显著性。

谎言二:它会把“独行侠”强行拉回“大部队”

(关于异常值的掩盖)

  • 日常比喻: 想象你在一个房间里,99% 的人都在正常聊天,但有一个人(异常值)站在房间另一头的角落里,离大家非常非常远,甚至远到隔着一条河。
  • t-SNE 的魔法: 当你把这张图画出来,那个站在河对岸的人,竟然被 t-SNE 强行“瞬移”到了人群边缘,甚至混进了人群里,看起来好像他只是稍微走得远了一点点,并没有那么格格不入。
  • 真相: 无论原始数据里那个点离得有多远(哪怕它在几光年之外),t-SNE 的数学机制决定了它无法在 2D 图上表现出那种“极端的遥远”。它总是试图把那个孤独的点拉回来,让它看起来像是群体的一部分。
  • 后果: 如果你用 t-SNE 来找诈骗用户(异常值),它可能会把真正的骗子画得和正常用户混在一起,让你漏掉坏人。
  • 结论: t-SNE 会掩盖异常值的极端程度。

为什么它会这样?(两个核心原因)

作者找到了 t-SNE 的“性格缺陷”:

  1. 距离的“加法”不变性(Additive Invariance):

    • 比喻: 想象 t-SNE 对距离的感知有点“钝感”。如果你把原始数据里所有点之间的距离都同时增加 100 米(就像给所有人穿了一双厚底鞋),t-SNE 看到的“相对关系”竟然完全没变!
    • 后果: 这意味着,哪怕原始数据里的点挤得像沙丁鱼罐头(距离极近),或者散得像宇宙星辰(距离极远),只要它们之间的“相对排名”没变,t-SNE 画出来的图可能是一模一样的。这让它很容易被“欺骗”,把毫无结构的数据画成有结构的数据。
  2. 输入与输出的“不对称”(Asymmetry):

    • 比喻: t-SNE 在输入端(看原始数据)和输出端(画图)用的规则不一样。
      • 输入端: 它像个“近邻探测器”,只关心谁离你最近。
      • 输出端: 它像个“半径探测器”,试图把大家都塞进一个有限的圆圈里。
    • 后果: 当有一个点离大家特别远(异常值)时,输入端觉得它“太远了,我不理它”,但输出端为了把大家塞进 2D 图里,不得不把这个点“硬拉”回来,让它看起来离大家没那么远。

还有一个更狠的“毒药攻击”

论文还发现了一个更可怕的现象:只要往数据里加一个“坏点”(Poison Point),就能毁掉整个图。

  • 场景: 假设你有两个分得很清楚的数据团(比如猫和狗)。
  • 攻击: 你在它们中间(或者某个特殊位置)偷偷加一个点。
  • 结果: t-SNE 的图瞬间崩塌,原本分开的猫和狗混成了一团,或者原本清晰的形状变得乱七八糟。
  • 比喻: 就像在两个吵架的帮派中间扔了一颗“烟雾弹”,t-SNE 这个“翻译官”瞬间就晕了,把两个帮派画成了一锅粥。而且,只需要一个点就能做到!

总结:我们该怎么办?

这篇论文并不是要彻底否定 t-SNE,而是想给所有使用它的人泼一盆冷水,让大家**“保持怀疑”**:

  1. 不要只看图: 如果 t-SNE 图上显示有两个完美的团,不要马上说“看!数据里有两个明显的类别!”也许原始数据里根本没那么明显。
  2. 不要依赖它找异常值: 如果你想找离群点(比如欺诈检测),千万别用 t-SNE,它会把坏人藏起来。用 PCA(主成分分析)可能更靠谱,因为 PCA 能如实反映谁离得远。
  3. 小心“毒药”: 数据里哪怕混入一个奇怪的数据点,都可能彻底扭曲 t-SNE 的结论。

一句话总结: t-SNE 是个很好的“讲故事”工具,能帮你发现数据里有趣的模式,但它是个**“夸张的艺术家”,而不是“诚实的摄影师”**。当你看到它画出的完美结构或隐藏的秘密时,记得问一句:“这是真的,还是它‘脑补’出来的?”

在收件箱中获取类似论文

根据您的兴趣定制的每日或每周摘要。Gist或技术摘要,使用您的语言。

试用 Digest →