“t-SNE 保留数据结构”是什么意思?

数据挖掘 机器学习 可视化 无监督学习 降维
2021-09-24 19:04:39

当我被告知 t-SNE 保留了嵌入中数据的结构时,我正在学习 t-SNE。

这到底是什么意思 ?

该算法是如何实现这一点的?

到目前为止,我已经理解了这一点->

t-SNE 是一种无监督学习算法,用于高维数据的降维和可视化。该算法通过使用 t 曲线测量一个点与所有其他点之间的相似性来工作。曲线的宽度取决于该点所属的簇的密度。t-SNE 保留了初始数据的结构。

我的问题是保留数据结构是什么意思?当数据转换到低维空间时,数据结构不应该有一些损失吗?还有什么是“数据结构”?请询问所需的任何进一步详细信息。

1个回答

您应该进一步分解这一点:保留局部结构和保留全局结构。


  • 其他广为人知的方法(例如主成分分析)非常适合保留全局结构,因为它着眼于在整个数据集中全局保留数据集方差的方式。

  • 通过查看本地出现的数据点, t-SNE 的工作方式有所不同。它通过计算每个数据点和给定数量的邻居之间的度量来做到这一点 - 将它们建模为在 t 分布分布内(因此名称:t 分布随机邻域嵌入)。然后它试图找到一个嵌入,使得原始 n 维空间中的邻居也可以在缩减(嵌入)维空间中找到。它通过最小化前后数据点分布之间的KL 散度来做到这一点,PQ分别。

这种方法的好处是保留了局部结构——因此低维空间中的集群应该可以解释为在高维空间中也非常相似的数据点。t-SNE 在很多问题上的效果都非常好,但是有几点需要注意:

  1. 因为我们知道保留了一些有用的局部结构,所以我们基本上用它来换取保留全局结构的能力。这等同于您无法真正比​​较最终嵌入中的 3 个集群,其中 2 个集群靠得很近,1 个集群离得很远。并不意味着它们在原始空间中也相距甚远。

  2. t-SNE 可能对其困惑度参数非常敏感。事实上,对于第 1 点中的三集群示例,您可能会得到不同的结果,只是使用稍微不同的困惑度值。这个值确实可以粗略地等同于“我们应该在 t 分布中包含多少点来找到数据点的邻居”——它本质上给出了 t 分布中包含的区域。


我建议观看t-SNE 的作者 Laurens van der Maaten 的讲座,并使用这个出色的可视化解释对 t-SNE 及其参数有所了解。

CrossValidated 上也有一些很好的答案,其中包含更多技术信息。