首页 > 解决方案 > 求解词向量最优聚类的算法

问题描述

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

例如,假设我们有 3 组向量:

  1. {“热狗”、“辣酱”、“热门”}
  2. {“汉堡”,“汉堡”,“汉堡包”}
  3. {“比萨”、“比萨”、“广场”}

最佳集群将是 {"Hot Dog", "Hamburger", "Pizza"},因为根据我有 F() 的某些函数,这些向量在我定义的向量空间内彼此紧密地聚集在一起。

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

谢谢。

编辑:

为了澄清我上面的例子,这些字符串中的每一个都像一个向量的 ID,所以重新表述它,组 1 是 {v1,v2,v3} 组 2 是 {v4,v5,v6},组 3 是 {v7,v8 , v9}。

我想要的输出是 {v1, v4, v7} 但以非暴力方式。

@m69 下面的评论正确地描述了我所说的集群的意思——一组向量,它们之间的距离由某个函数F()计算,都在某个阈值 t内。

标签: algorithmdynamic-programminggraph-theoryk-means

解决方案


推荐阅读