K 均值树 VS 随机 KD 树?
K-means tree VS randomized KD-tree?
我正在阅读 these 幻灯片。特别是,在幻灯片 52 中指出:
In our experiments, we have found that either of two algorithms can
have the best performance, depending on the dataset and desired
precision
然而,在上一张幻灯片中,仅在情况 (a) 中 K-means 树比随机 kd-tree 具有更好的性能,而在其他三个实验中,kd-tree 绝对是赢家。
这是正确的还是我读错了?如果是这样,为什么他们说最好的算法是依赖于数据集的?
在分析了您指出的幻灯片中的图表后,您可以观察到:
在 (a) for 100k SIFT matches K-means performs bit better when balancing speed/precision;
在 (b) 中,当从 100K SIFT 扩展到 31M 时,RKD-Trees 能够执行得更快,但是如果你想要最好的精度,速度会稍微降低 找到那些匹配项;
并且在 (c) 中使用 RKD-Tree 搜索在与查询 .[= 没有真正匹配的数据集上表现更好10=]
所以它们确实依赖于数据集。例如,您可以得出结论,RKD-Tree 对于较大的数据集执行速度更快,但是如果精度是您尝试实现的任何任务的相关指标,则 RKD-Trees 性能将类似于 K-means搜索。
我正在阅读 these 幻灯片。特别是,在幻灯片 52 中指出:
In our experiments, we have found that either of two algorithms can have the best performance, depending on the dataset and desired precision
然而,在上一张幻灯片中,仅在情况 (a) 中 K-means 树比随机 kd-tree 具有更好的性能,而在其他三个实验中,kd-tree 绝对是赢家。
这是正确的还是我读错了?如果是这样,为什么他们说最好的算法是依赖于数据集的?
在分析了您指出的幻灯片中的图表后,您可以观察到:
在 (a) for 100k SIFT matches K-means performs bit better when balancing speed/precision;
在 (b) 中,当从 100K SIFT 扩展到 31M 时,RKD-Trees 能够执行得更快,但是如果你想要最好的精度,速度会稍微降低 找到那些匹配项;
并且在 (c) 中使用 RKD-Tree 搜索在与查询 .[= 没有真正匹配的数据集上表现更好10=]
所以它们确实依赖于数据集。例如,您可以得出结论,RKD-Tree 对于较大的数据集执行速度更快,但是如果精度是您尝试实现的任何任务的相关指标,则 RKD-Trees 性能将类似于 K-means搜索。