Ball tree(球树)是一种用于高维数据的空间索引/数据结构,常用于最近邻搜索(nearest neighbor search)与范围查询。它通过递归地把数据点划分到一系列“球体(ball,指以某个中心点为圆心、以半径覆盖一簇点的超球)”中,以加速查询。(在不同语境下也可能泛指用球形边界进行分割的树结构。)
/ˈbɔːl triː/
A ball tree can speed up nearest neighbor searches.
球树可以加速最近邻搜索。
In high-dimensional embeddings, a ball tree often outperforms brute-force search by pruning large regions that cannot contain the closest point.
在高维向量嵌入中,球树常常通过剪枝那些不可能包含最近点的大区域,从而比暴力搜索更快。
ball 在这里不是“球类运动”,而是几何意义上的“球体/超球(n-ball)”,表示用“中心 + 半径”定义的覆盖区域;tree 指分层的树状索引结构。合在一起,ball tree 即“用球形边界递归划分空间的树”。