据我所知,自编码器和 t-SNE 都用于非线性降维。它们之间有什么区别,为什么我应该使用一个与另一个?
自编码器和 t-SNE 有什么区别?
机器算法验证
神经网络
深度学习
降维
自动编码器
特纳
2022-02-10 13:35:59
4个回答
他们都试图找到数据的低维嵌入。但是,存在不同的最小化问题。更具体地说,自动编码器试图最小化重建误差,而 t-SNE 试图找到较低维空间,同时它试图保持邻域距离。由于此属性,t-SNE 通常更适合绘图和可视化。
[自动编码器]主要关注最大化潜在空间中数据的方差,因此自动编码器在保留潜在空间中数据的局部结构方面不如流形学习器成功......
来自“通过保留局部结构学习参数嵌入”,Laurens van der Maaten ( https://lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf )
Autoencoder 和 t-SNE 可以一起使用,以更好地可视化高维数据,如 [1] 中所述:
特别是对于 2D 可视化,t-SNE 可能是最好的算法,但它通常需要相对低维的数据。因此,在高维数据中可视化相似关系的一个好策略是首先使用自动编码器将数据压缩到低维空间(例如 32 维),然后使用 t-SNE 将压缩数据映射到 2D 平面.
[1] https://blog.keras.io/building-autoencoders-in-keras.html
自动编码器旨在以 2 范数的方式保存先前的数据,如果数据是速度,则可以将其视为保存数据的动能。
而 t-SNE 使用不对称的 KL 散度,会导致 t-SNE 更关注局部结构,而自动编码器倾向于保持整体 L2 误差较小,这是全局意义上的。
其它你可能感兴趣的问题