有没有一种方法可以找到数组中最遥远的n个向量?

2024-05-29 03:34:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个由成千上万个90维的doc2vec向量组成的数组。就我目前的目的而言,我想找到一种方法来“采样”这个向量空间的不同区域,以了解语料库的多样性。例如,我想把我的空间划分成n个区域,并得到每个区域最相关的词向量。你知道吗

我尝试过使用hdbscan进行聚类(在使用UMAP降低维数之后)来在向量空间的自然关节处雕刻向量空间,但效果并不理想。你知道吗

所以现在我想知道是否有一种方法可以对空间中的“遥远区域”(n个彼此最远的向量)进行采样。你知道吗

  1. 这是个好策略吗?你知道吗
  2. 我怎么能这么做?你知道吗

非常感谢!你知道吗


Tags: 方法目的区域空间聚类数组向量语料库
1条回答
网友
1楼 · 发布于 2024-05-29 03:34:05

从所有向量中随机抽取的样本不一定会遇到集合中的任何一个“区域”吗?你知道吗

如果文档存在“自然关节”和簇,一些聚类算法应该能够找到N个簇,那么每个簇的质心到另一个簇的质心之间的较小的NxN距离就可以识别出那些“最远”的簇。你知道吗

注意:对于任何向量,可以使用Doc2Vecdoc vectors most_similar(),其topn值为0/false ish,以获得与所有其他模型doc向量的(未排序的)相似性。然后你就可以在这个集合中找到最不相似的向量。如果您的数据集足够小,可以对文档向量的“全部”(或一些大样本)执行此操作,那么对于其他向量的最多数量,“底部N”中出现的最不相似的其他文档可能是最“遥远”的。你知道吗

这种“远出”的想法是否真的在数据中体现出来,还是有用,目前还不清楚。(在高维空间中,任何事物都可能与其他事物相距甚远,这与我们的2d/3d直觉不符,某些向量中稍微“远”一点的细微差别可能并不符合有用的区别。)

相关问题 更多 >

    热门问题