降维后如何减少位置变化?

时间:2019-05-22 09:09:17

标签: machine-learning scikit-learn data-visualization dimensionality-reduction

免责声明:我是机器学习的初学者。

我正在努力将高维数据(文本作为tdidf矢量)可视化到2D空间中。我的目标是标记/修改这些数据点,并在修改和更新2D图后重新计算它们的位置。该逻辑已经可以使用,但是即使在1个数据点中的28.000个功能中只有1个发生了变化,每次迭代的可视化也都与上一个有很大不同。

有关该项目的一些详细信息:

  • 〜1000个文本文档/数据点
  • 每个
  • 〜28.000 tfidf矢量特征
  • 由于具有交互性,因此必须非常快速地进行计算(假设<3s)

这里有2张图片来说明问题:

第1步Step 1

第2步Step2

我尝试了几种降维算法,包括MDS,PCA,tsne,UMAP,LSI和Autoencoder。使用UMAP获得的关于计算时间和视觉表示的最佳结果,因此我在很大程度上坚持了下来。

跳过一些研究论文,我发现这有一个类似的问题(高尺寸的小变化导致2D的大变化): https://ieeexplore.ieee.org/document/7539329 总而言之,他们使用t-sne来初始化第一步的结果。

首先:我将如何在实际代码中实现这一目标?这与tsne的random_state有关吗?​​

第二:是否可以将该策略应用于UMAP等其他算法? tsne花费的时间更长,并且根本不适合交互式用例。

还是针对这个问题,我没有想到过更好的解决方案?

0 个答案:

没有答案