我得到了一个有30个维度的向量,我想在我的数据库中找到10个最接近的匹配。我的数据库中有大约3000个向量,我必须将其与之进行比较。一些维度比其他维度更重要,所以我想给它们单独的权重。
这30个维度是RGB值的10倍。我把一张照片分成9块。所以9*3 (RGB) 27。最后三个值是图片的平均颜色的RGB。
我的问题是:如果可能的话,这是可能的吗?使此过程尽可能快速有效的最佳方法是什么?就我自己而言,我正在考虑一种树,但树太多了,我不知道哪一棵最适合我的问题。
编辑:
我想我并不完全清楚我想要实现什么。我有一个随机向量,我想将这个向量与数据库中的向量进行比较,找出10个闭合的向量。我有一个包含所有向量的数据库。我已经将它们存储在MySQL DB中,每一行都是一个向量。见下文

发布于 2012-12-25 23:52:42
这个问题类似于找到与参考点最接近的n个点的问题,当您有太多参考点时。
假设您知道如何比较两个向量以找到它们之间的“距离”,则可以使用最大堆。使用与随机向量的距离作为比较来自db的两个向量的关键字。那是,
也就是说,你的问题空间看起来真的很小。所以,你可以按照评论中的建议使用暴力。
https://stackoverflow.com/questions/14030750
复制相似问题