2016-01-09 142 views
-1

这个问题涉及KNN搜索KDTrees的实现。遍历KDTree以找到单个最佳匹配(最近邻居)很简单,类似于修改后的二进制搜索。如何遍历KDTree找到最近的k个邻居?

遍历如何修改为彻底和有效地找到k-最佳匹配(KNN)?

编辑澄清: 在找到输入查询I的最近节点M之后,遍历算法如何继续找到与查询最接近的其余K-1匹配?是否存在遍历模式,以保证按照最佳匹配查询的顺序访问节点?

+1

的可能的复制[如何使用KDTrees实现最近邻搜索?](http://stackoverflow.com/questions/4093392/how-to-implement-nearest-neighbor -search-using-kdtrees) –

+0

这不是[link]的副本(http://stackoverflow.com/questions/4093392/how-to-implement-nearest-neighbor-search-using-kdtrees);我明确指出,我理解遍历找到一个最近的邻居。该问题询问如何修改遍历以彻底查找单个查询的k个最近邻居。我怀疑从最初的最佳匹配中可以找到一条有效的路径,它可以依次找到更远的邻居。 – user2647513

+0

只要继续搜索同样的方式。 –

回答

0

目前,我已经决定执行一系列逐渐增大范围搜索的次优解决方案,直到找到K个节点。