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

如上所示,大多数投影确实展现了原始的簇。然而,它们在形状上差异很大。从上图中可以得出五点结论:
绝不要通过看这些投影就下任何关于原始簇形状的结论。
- 不同的投影具有不同的低维簇形状,它们与原始簇形状并不相似。
- 对于较低的困惑度值(5 和 10),簇形状与原始形状差异显著。
- 虽然在这个例子中簇是带有颜色编码的,这提供了更多的清晰度。但情况并不总是如此,因为 t-SNE 是一种无监督算法。
t-SNE 图中簇的大小同样说明不了任何问题。
t-SNE 在低维中创建的维度(或数据点的坐标)本身没有任何内在含义。
- 低维图的坐标轴刻度标签各不相同,而且有些随机。
- 与 PCA 的主成分类似,它们不提供任何可解释性。
投影中簇与簇之间的距离没有任何意义。
- 在原始数据集中,蓝色和红色的簇是相近的。
- 然而,大多数投影并不保留原始数据集的全局结构。
在困惑度≤2 和困惑度≥100 时会出现奇怪的情况。
- 在困惑度≤2 时,低维映射说明不了任何东西。■ 如前所述,困惑度值大致估计了一个点在一个簇中可能拥有的邻居数量。■ t-SNE 试图在每个簇中维持大约 2 个点。这就是产生失真的原因。
在困惑度≥100 时,全局结构得以保留,但局部结构却发生了失真。
因此,在这里调整困惑度这个超参数是极其关键的。
这就是为什么我前面提到它是这个算法最重要的超参数。最后需要说明的是,人们发现理想的困惑度值通常落在 5–50 的范围内。所以可以尝试在这个范围内实验,看看哪个效果更好。下次你使用 t-SNE 时,请考虑上述几点,因为这些图有时很难解读。如果你不理解这个算法的内部工作原理,情况尤其如此。尽管如此,理解这个算法会极大地帮助你培养对其可解释性的直觉。
