2016-01-09 111 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個節點。