自动编码器和t-SNE有什么区别?


Answers:


8

他们俩都试图找到数据的低维嵌入。但是,存在不同的最小化问题。更具体地说,自动编码器试图使重构误差最小化,而t-SNE试图寻找较低的维数空间,与此同时,它试图保持邻域距离。由于此属性,通常将t-SNE用于绘图和可视化。


因此,从这个意义上说,这是否意味着当较低尺寸大于3D时,自动编码器最好找到较低尺寸?(因为我假设较低尺寸较大,所以t-SNE可能无法正常工作?)
RockTheStar 2015年

2
根据您的任务,自动编码器有多种类型(稀疏,可变,堆叠,卷积等)。基于重构误差,它们在发现低维嵌入方面可能非常有效。因此,如果您的任务是找到最佳的低维空间(甚至2D),我建议您为任务选择正确的自动编码器。如果您必须进行可视化,那么t-SNE可能是您的选择。作为邻近距离的保留,可以带来更好的可视化效果。
Yannis Assael,2015年

2

[自动编码器]主要致力于最大化潜在空间中数据的方差,因此,自动编码器在保留潜在空间中数据的局部结构方面不如流形学习者成功。

摘自Laurens van der Maaten的“通过保留局部结构来学习参数嵌入”(https://lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf


这不是“ t-SNE论文”。标准t-SNE是非参数的。
变形虫

1
感谢@amoeba对您的评论。我编辑了帖子。
User128525 '19

1

自动编码器和t-SNE可以一起使用,以更好地显示高维数据,如[1]中所述:

特别是对于2D可视化,t-SNE可能是最好的算法,但是它通常需要相对低维的数据。因此,可视化高维数据中相似关系的一种好策略是开始使用自动编码器将数据压缩到低维空间(例如32维),然后使用t-SNE将压缩后的数据映射到2D平面。


[1] https://blog.keras.io/building-autoencoders-in-keras.html


0

自动编码器旨在以2范数的意义保留先前的数据,如果数据是速度,则可以认为是保留了数据的动能。

当t-SNE使用不对称的KL散度时,它将导致t-SNE更加关注局部结构,而自动编码器则倾向于使总体L2误差保持较小,这在全局意义上来说是。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.