关于机器学习:tSNE如何理解与高效使用

12次阅读

共计 3788 个字符,预计需要花费 10 分钟才能阅读完成。

摘要

只管 t-SNE 对于可视化高维数据十分有用,但有时其后果可能无奈解读或具备误导性。通过摸索它在简略状况下的体现,咱们能够学会更无效地应用它。

摸索高维数据的一种风行办法是t-SNE,由 van der Maaten 和 Hinton 在 2008 年提出。该技术已在机器学习畛域失去广泛应用,因为它具备简直神奇的能力,能够从数百甚至数千维的数据中获取其二维的示意。只管后果令人印象粗浅,但这些后果很容易被误读。本文的目标就是指出一些常见的误会。

咱们将通过一系列简略的示例来阐明 t-SNE 图能够显示和不能显示的内容。t-SNE 技术的确很有用——但前提是你晓得如何解释它。

深入研究之前:如果您以前没有遇到过 t-SNE,那么您须要理解它背地的数学知识。其指标是在高维空间中获取一组点,并在低维空间(通常是 2D 立体)中找到这些点的示意。该算法是非线性的,并适应底层数据,对不同区域执行不同的转换。这些差别可能是造成凌乱的次要起源。

t-SNE 的第二个特色是可调整的参数,perplexity,它阐明了如何在数据的部分和全局之间均衡注意力。从某种意义上说,该参数是对每个点的近邻数量的猜想。perplexity值对生成的图片有简单的影响。

原论文说,“SNE 的性能对 perplexity 的变动相当持重,典型值在 5 到 50 之间。”

充分利用 t-SNE 可能意味着须要剖析具备不同 perplexity的多个图。

例如,t-SNE 算法并不总是在间断运行中产生相似的输入,并且还有与优化过程相干的超参数。

1. 超参数

  • 超参数的重要性

让咱们从 t-SNE 的“hello world”开始:由两个相隔很远的 `clusters 组成的数据集。为了尽可能简略,咱们将思考二维立体中的 cluster,如下左图所示。(为了比照,两个cluster 采纳不同的色彩示意。)右下图显示了五种不同 perplexityt-SNE` 图。

perplexity ” title=”perplexity “>

van der Maaten 和 Hinton 倡议的 perplexity 在 (5 – 50) 范畴内,这些图的确显示了这些 `clusters,只管形态十分不同。在这个范畴之外的后果变得有点奇怪。对于 perplexity = 2,部分变动占主导地位。perplexity=100 的图像表明:为了使算法失常运行,perplexity` 应该小于点的数量。否则,可能会产生意想不到的后果。

下面的每个图都是用 5,000 次迭计算作的,学习率(通常称为epsilon)为 10,并且在第 5,000 步时后果趋于稳定。

Step 值有多大的影响呢?依据咱们的教训,最重要的是持续迭代,直到趋于稳定。

下面的图像显示了在 perplexity=30 下的五次不同的运行。前四次在稳固之前进行。在 10、20、60 和 120 步之后,您能够看到具备看似一维甚至点状图像的 `clusters 布局。如果您看到具备奇怪“挤压”形态的 t-SNE 图,则该过程可能过早进行。可怜的是,没有一个固定的Step` 值能够产生稳固的后果。不同的数据集可能须要不同数量的迭代能力收敛。

另一个问题是应用雷同超参数的不同运行是否会产生雷同的后果。在这个简略的两个簇示例以及咱们探讨的大多数其余示例中,屡次运行给出了雷同的全局形态。然而,某些数据集在不同的运行中会产生显著不同的后果;稍后咱们将给出其中之一的示例。

从当初开始,除非另有阐明,否则咱们将展现 5,000 次迭代的后果。这通常足以使本文中的(绝对较小的)示例收敛。然而,咱们将持续展现一系列的perplexities,因为这仿佛在每种状况下都有很大的不同。

2. 簇

  • t-SNE 图中的 cluster(簇) 大小没有任何意义

如果两个 cluster 有不同的标准差,大小也不同呢?(尺寸是指边界框测量值,而不是点数。)上面是立体上混合高斯的 t-SNE 图,其中一个的扩散状况是另一个的 10 倍。

cluster” title=”cluster“>

令人诧异的是,这两个 clustert-SNE 图中看起来大致相同。t-SNE 算法使其“间隔”适应数据集中的区域密度变动。后果,它天然地扩大了密集的 cluster,并膨胀了稠密的 cluster,从而均衡了 cluster 的大小。须要明确的是,这与任何降维技术都会扭曲间隔的状况不同。相同,密度平衡是通过设计产生的,并且是 t-SNE 的可预测特色。

然而,您无奈在 t-SNE 图中看到 cluster 的绝对大小。

3. 间隔

  • cluster 之间的间隔可能没有任何意义

下图显示了三个高斯,每个 50 点,一对的间隔是另一对的 5 倍。

perplexity为 50 时,该图很好地显示了全局状况。对于较低的 perplexitycluster 看起来是等距的。当 perplexity为 100 时,咱们能够看到全局形态很好,但其中一个 cluster 谬误地呈现,比其余 cluster 小得多。因为 perplexity=50 在这个例子中失去的后果很好,如果咱们想看到全局状况,咱们能够总是将 perplexity设置为 50 吗?

后果是不能。如果咱们向每个 cluster 增加更多点,则必须减少perplexity 以进行弥补。这是三个高斯 clustert-SNE 图,每个 cluster 有 200 个点,而不是 50 个。当初,没有一个perplexity 给出了好的后果。

想要看到全局状况须要微调 perplexity,这是个坏消息。实在的数据可能会有多个具备不同数量元素的cluster。可能没有一个 perplexity 值能够捕捉所有 cluster 的间隔——遗憾的是,perplexity 是一个全局参数。解决这个问题可能是将来钻研的一个方向。

因而,t-SNE 图中 cluster 之间的间隔可能毫无意义。

4. 随机噪声

  • 随机噪声并不总是看起来随机。

当你看到乐音时,辨认它是一项要害技能,但须要工夫来建设正确的直觉。t-SNE 的一个辣手之处在于它摈弃了很多现有的直觉。下图显示了真正的随机数据,从 100 维的单位高斯分布中抽取 500 个点。左图是前两个坐标的投影。

perplexity=2 的情节仿佛显示出戏剧性的 cluster。如果您正在调整perplexity 以显示数据的构造,您可能会认为本人中了大奖。

当然,因为咱们晓得点云是随机生成的,所以它没有统计上乏味的cluster:那些“cluster”没有意义。如果您回顾后面的示例,低perplexity 通常会导致这种散布。将这些团块辨认为随机噪声是浏览 t-SNE 图的重要局部。

起初,perplexity=30 图看起来基本不像高斯分布:云的不同区域之间只有轻微的密度差别,而且这些点仿佛是均匀分布的。事实上,这些特色阐明了对于高维正态分布的有用信息,它们十分靠近球体上的均匀分布,点之间的间距大抵相等。从这个角度来看,t-SNE 图比任何线性投影都更精确。

5. 形态

  • 有时你能够看到一些形态

很少有数据以完满对称的形式散布。咱们来看一个 50 维的轴对齐高斯分布,其中坐标 i 的标准差为 1/i。也就是说,咱们正在查看一个长椭圆形的点云。

对于足够高的 perplexity,修长的形态很容易浏览。另一方面,在低perplexity 度下,部分效应和无意义的“汇集”占据核心地位。更极其的形态也呈现了,但同样只是在正确的 perplexity 中。例如,这里有两个 75 个点的 2D 聚类,它们以平行线排列,带有一点乐音。

对于肯定范畴的 perplexity,长cluster 看起来靠近正确。

然而,即便在最好的状况下,也存在轻微的失真:t-SNE 图中的线条稍微向外蜿蜒。起因像平常一样,t-SNE 偏向于扩大更密集的数据区域。因为簇的两头比末端四周的空白空间少,因而算法会放大它们。

6. 拓扑

  • 对于拓扑,您可能须要屡次绘图

有时您能够从 t-SNE 图上读取拓扑信息,但这通常须要多个 perplexity 的视图。最简略的拓扑属性是包容性。下图显示了 50 维空间中的两组 75 个点。两者都是从以原点为核心的对称高斯分布中采样的,但其中一个的分散度是另一个的 50 倍。“小”散布实际上蕴含在大散布中。

perplexity=30 视图正确显示了根本的拓扑状况,但 t-SNE 再次夸张了较小点组的大小。在perplexity=50 处:内部组变成了一个圆圈,因为该图试图描述它的所有点与外部组的间隔大致相同。如果你独自看这张图片,很容易将这些外点误读为一维构造。

思考一组点,这些点在三个维度上追踪一个链接或一个结。再一次,查看多个 perplexity 值给出了最残缺的画面。低 perplexity 给出两个齐全独立的循环;高的显示了一种寰球连通性。

trefoil knot 是一个乏味的例子,阐明了屡次运行如何影响 t-SNE 的后果。上面是 perplexity为 2 时的五次运行后果。

该算法至多保留了本来的拓扑构造。然而其中的三个失去了不同的后果。应用点色彩作为比照,您能够看到第一次和第三次运行彼此相距很远。

然而,在 perplexity=50 的五次运行后果(直到对称)在视觉上是雷同的。

总结

t-SNE 如此受欢迎是有起因的:它非常灵活,并且常常能够找到其余降维算法无奈找到的构造。可怜的是,这种灵活性使其难以解释。在用户看不见的中央,该算法会进行各种调整以整顿其可视化。好消息是,通过钻研 t-SNE 在简略状况下的体现,能够对钻研有肯定帮忙。

本文由 mdnice 多平台公布

正文完
 0