Skip to content

如何避免被 t-SNE 投影误导?

How To Avoid Getting Misled by t-SNE Projections?

从上面的讨论来看,t-SNE 听起来很有前途,不是吗?虽然这个算法相当强大,但许多人经常从他们的高维数据的 t-SNE 投影中得出误导性的结论。在本章中,我想指出其中的一些错误,这样你就永远不会犯这些错误了。首先,t-SNE 算法的性能主要依赖于困惑度(perplexity)——这是 t-SNE 的一个超参数。正因如此,它被认为是 t-SNE 算法中最重要的超参数。简单来说,困惑度值大致估计了一个点在一个簇中可能拥有的邻居数量。不同的困惑度值会产生截然不同的低维簇空间,如下图所示:

ds p305 1

如上所示,大多数投影确实展现了原始的簇。然而,它们在形状上差异很大。从上图中可以得出五点结论:

  • 绝不要通过看这些投影就下任何关于原始簇形状的结论。

    • 不同的投影具有不同的低维簇形状,它们与原始簇形状并不相似。
    • 对于较低的困惑度值(5 和 10),簇形状与原始形状差异显著。
    • 虽然在这个例子中簇是带有颜色编码的,这提供了更多的清晰度。但情况并不总是如此,因为 t-SNE 是一种无监督算法。
  • t-SNE 图中簇的大小同样说明不了任何问题。

  • t-SNE 在低维中创建的维度(或数据点的坐标)本身没有任何内在含义。

    • 低维图的坐标轴刻度标签各不相同,而且有些随机。
    • 与 PCA 的主成分类似,它们不提供任何可解释性。
  • 投影中簇与簇之间的距离没有任何意义。

    • 在原始数据集中,蓝色和红色的簇是相近的。
    • 然而,大多数投影并不保留原始数据集的全局结构。
  • 在困惑度≤2 和困惑度≥100 时会出现奇怪的情况。

    • 在困惑度≤2 时,低维映射说明不了任何东西。■ 如前所述,困惑度值大致估计了一个点在一个簇中可能拥有的邻居数量。■ t-SNE 试图在每个簇中维持大约 2 个点。这就是产生失真的原因。
  • 在困惑度≥100 时,全局结构得以保留,但局部结构却发生了失真。

  • 因此,在这里调整困惑度这个超参数是极其关键的。

  • 这就是为什么我前面提到它是这个算法最重要的超参数。最后需要说明的是,人们发现理想的困惑度值通常落在 5–50 的范围内。所以可以尝试在这个范围内实验,看看哪个效果更好。下次你使用 t-SNE 时,请考虑上述几点,因为这些图有时很难解读。如果你不理解这个算法的内部工作原理,情况尤其如此。尽管如此,理解这个算法会极大地帮助你培养对其可解释性的直觉。

ds p307 1

本站内容仅供学习交流,版权归原作者所有。