解决词向量最佳聚类的算法

时间:2018-08-14 03:20:27

标签: algorithm dynamic-programming graph-theory k-means

我将单词向量分为N个组,每个组包含M个向量。问题是要找到向量的最佳聚类,其中N个组中的每一个只有一个向量出现。

举个例子,假设我们有3组向量:

  1. {“ Hot Dog”,“ Hot sauce”,“ Hotshot”}
  2. {“汉堡”,“汉堡”,“汉堡”}
  3. {“披萨”,“比萨”,“广场”}

最佳聚类将是{“ Hot Dog”,“ Hamburger”,“ Pizza”},因为根据某些函数我具有F(),这些向量在我定义的向量空间内彼此紧密聚类。 / p>

仅通过尝试每种组合,我就可以通过蛮力得出此结果。但是随着N和M的增长,这变得不可行。我可以使用动态编程方法吗?我可以查找任何参考算法吗?

谢谢。

编辑:

为澄清上述示例,每个字符串都像一个向量的ID,因此将其重新表述,组1为{v1,v2,v3}组2为{v4,v5,v6},组3为{ v7,v8,v9}。

我希望的输出是{v1,v4,v7},但采用非蛮力方式。

@ m69在下面的评论正确地描述了我所说的簇-一组向量,它们由某些函数 F()计算的彼此之间的距离都在某个阈值t < / strong>。

0 个答案:

没有答案