编程语言
首页 > 编程语言> > python-kd-tree可以使用点积构建吗?

python-kd-tree可以使用点积构建吗?

作者:互联网

通过将超平面递归地分成两半来构造普通的kd树.为了对查询点进行范围搜索,它将只搜索一小部分点(对数)而不是全部(线性)点.

我想知道可以用点积构建kd树吗?

例如,b是3d向量的列表:

b = np.random.rand(10,3)

a = (1,1,1) is a query vector

我想找到满足的最接近的bk:

a * bk > a * bi, for i = 1, 2, ...k-1, k+1, 10

我不想计算所有*双点产品对.

如何用b构建树,并且在查询a时,我仅计算a * bi?

解决方法:

我认为Ram & Gray 2008正是您想要的.他们称其结构为“锥树”.

标签:nearest-neighbor,kdtree,data-structures,python,algorithm
来源: https://codeday.me/bug/20191122/2059311.html