我有一个30维度的向量,我想在我的数据库中找到10个最接近的匹配项。我的DB中有大约3000个向量,我要将它与之进行比较。有些尺寸比其他尺寸更重要,所以我想给它们所有单独的重量。
30个维度是由10倍RGB值构建的。我将一张图片拆分为9个图块。所以9 * 3(RGB)27。最后三个值是图片平均颜色的RGB。
我的问题是:这是否可行,如果是的话。使这个过程尽可能快速有效的最佳方法是什么?我自己,我在想某种树,但是有很多树,我不知道哪一棵树最适合我的问题。
编辑:
我想我对自己想要达到的目标并不完全清楚。我有一个随机向量,我想将这个与我的数据库中的向量进行比较,找到10关闭。我有一个包含所有载体的数据库。我将它们存储在MySQL数据库中,每一行都是一个向量。见下文
答案 0 :(得分:0)
这个问题类似于当你有太多的参考点时找到n个最近点的问题。
假设您知道如何比较两个向量以找到它们之间的“距离”,您可以使用最大堆。使用随机向量的距离作为比较来自db的两个向量的关键。也就是说,
那就是说,你的问题空间似乎很小。因此,您可以按照评论中的建议使用蛮力。