t-SNE 何时具有误导性?

机器算法验证 数据可视化 降维 特纳
2022-01-29 18:54:40

引用其中一位作者的话:

t-Distributed Stochastic Neighbor Embedding (t-SNE) 是一种(获奖的)降维技术,特别适合高维数据集的可视化。

所以这听起来很不错,但那是作者在说的。

作者的另一句话(re:上述比赛):

你从这场比赛中收获了什么?
在开始训练数据的预测器之前,始终首先可视化您的数据!通常,我所做的可视化可以提供对数据分布的洞察,这可能有助于您确定要尝试哪种类型的预测模型。

信息一定 会丢失——毕竟这是一种降维技术但是,由于这是一种在可视化时使用的技术,因此丢失的信息不如突出显示的信息有价值(/通过减少到 2 或 3 维使其可见/可理解)。

所以我的问题是:

  • 什么时候 tSNE 不适合这项工作?
  • 什么样的数据集导致它无法运行,
  • 什么样的问题它看起来可以回答,但实际上不能?
  • 在上面的第二个引用中,建议始终可视化您的数据集,这种可视化是否应该始终使用 tSNE 完成?

我希望这个问题可能会在相反的情况下得到最好的回答,即回答:tSNE 什么时候是适合这项工作的工具?


有人告诫我不要依赖 tSNE 来告诉我数据分类的难易程度(分成几类——一个判别模型) 它具有误导性的例子是,对于下面的两张图片,生成模型2更糟对于第一个/左侧(准确度 53.6%)中可视化的数据,第二个/右侧(准确度 67.2%)的等效数据。

第一的 第二


1 我可能错了,稍后我可能会坐下来尝试一个证明/反例

2 请注意,生成模型与判别模型不同,但这是我给出的示例。

2个回答

T-Sne 是一种缩减技术,可以保持空间的小尺度结构(即什么特别接近什么),这使得它非常擅长可视化数据可分离性。这意味着 T-Sne 对于旨在了解数据可分离程度的早期可视化特别有用。其他技术(例如 PCA)在维度消失时将低维度表示中的数据保留在彼此之上,这使得很难对高维度空间中的可分离性做出任何明确的陈述。

因此,例如,如果你得到一个包含大量重叠数据的 T-Sne 图,那么无论你做什么,你的分类器都会表现不佳的可能性很高。相反,如果您在 T-Sne 图中看到清晰分离的数据,那么底层的高维数据包含足够的可变性来构建一个好的分类器。

开箱即用的 tSNE 有几个超参数,主要是 perplexity。请记住,启发式地,困惑度定义了 tSNE 的相似性概念,并且通用困惑度用于所有数据点。您可以尝试生成一个带标签的数据集,其中每个集群具有截然不同的困惑度。这可以通过混合具有各种不同方差的高斯函数来实现。我猜这也会导致 tSNE 的 Barnes-Hut 实现出现问题,它依赖于四分位数数据并仅使用最近的邻居。tSNE 也有一个初始弛豫期,它试图使集群相互通过。在此期间,没有处罚或排斥。因此,例如,如果您的数据看起来像一团乱蓬蓬的面条(每个面条代表一个给定的集群),那么您 重新校准初始传递将很难,我怀疑 tSNE 能否正常工作。从某种意义上说,我认为这暗示如果您的数据被编织在一起并且最初驻留在低维空间(例如 5)中,tSNE 将无法正常工作。

一般来说,tSNE 是好的,因为“t”部分解决了 SNE 中的一个突出问题,即与高维相比,如何在低维空间中分隔点。事实证明,平均而言,高维数据点的间距与低维完全不同。特别是,tSNE 强烈主张反对使用高斯来测量较低维度的距离,而是选择一维t分布(即柯西分布),它有更重的尾巴,并允许在低维表示中进行更多的传播。因此可以想象,tSNE 中的“t”也可以是一个超参数,您可以在其中选择不同的分布(尽管计算成本很高)。

您应该将 tSNE 视为一种无监督的聚类方法,因此认为它是完成这项工作的唯一工具的理由为零。我认为总的来说,如果校准得当,它可能是一个很棒的工具。然而,它在大型数据集上相当慢,你最好使用一些优化的形式k- 表示例如,甚至是 PCA,具体取决于数据的稀疏程度。