algorithm - 求解词向量最优聚类的算法
问题描述
我将单词向量分成 N 个组,其中每个组包含 M 个向量。问题是要找到一个向量的最佳聚类,其中 N 个组中的每一个都只出现一个向量。
例如,假设我们有 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内。
解决方案
推荐阅读
- java - WebCLient delete 方法不会删除数据,但会给出 200 Ok 代码,以及数据被删除的消息
- javascript - 使用相同的函数更改 onclick 事件的多个按钮文本
- foreach - 是否可以在“for each”迭代器的逻辑应用程序中添加项目?
- matlab - 在我的 MATLAB 代码中使用 contains() 对 If 语句输出感到困惑
- php - 用 codeigniter 总结用户选择的选项
- r - 如何根据 r 中的变量范围对 data.table 进行分组和聚合
- button - 多行工具提示和 CMFCButton
- javascript - 三.js gltf 指定对象部分
- javascript - 在正则表达式中的位置错误处面对预期的原子
- python-3.x - 非标准儒略日时间戳