免责声明:我是机器学习初学者。
我正在将高维数据(文本作为 tdidf 向量)可视化到 2D 空间中。我的目标是标记/修改这些数据点并在修改和更新二维图后重新计算它们的位置。逻辑已经有效,但每次迭代可视化都与前一个非常不同,即使 1 个数据点中的 28.000 个特征中只有 1 个发生了变化。
关于该项目的一些细节:
- ~1000 个文本文档/数据点
- 每个约 28.000 个 tfidf 矢量特征
- 由于其交互性,必须非常快速地计算(假设 < 3s)
这里有2张图片来说明问题:
我尝试了几种降维算法,包括 MDS、PCA、tsne、UMAP、LSI 和 Autoencoder。我使用 UMAP 获得了关于计算时间和视觉表示的最佳结果,所以我大部分时间都坚持使用它。
浏览一些研究论文,我发现这篇论文有类似的问题(高维度的小变化导致 2D 的大变化): https : //ieeexplore.ieee.org/document/7539329 总之,他们使用 t-sne 来初始化每个迭代步骤与第一步的结果。
第一:我将如何在实际代码中实现这一点?这和tsne有关random_state吗?
第二:是否可以将该策略应用于其他算法,如 UMAP?tsne 需要更长的时间,并且不适合交互式用例。
还是有一些我没有想到的更好的解决方案来解决这个问题?

