KNN 算法非常方便,特别适合我的一些问题,但我找不到任何关于如何在生产中实现它的资源。
作为一个比较示例,当我使用神经网络时,我已经可以使用高级工具,允许我将神经网络应用于示例(任何一个库都允许我在我想做嵌入式时巧妙地利用我的设备的硬件) ,或者基础设施,如果我想在云上运行它们,我可以以较低的成本使用我的神经网络),这些工具通常是黑盒子,并且经过了很好的优化,尤其是当你向它们传递一批示例时。
似乎没有这样的工具可以大规模使用 KNN,例如在云上,我想必须自己实现它。
一个简单的 KNN 实现,包括计算从推断示例到所有已知和记录示例的距离,使得计算成本和使用它的财务成本爆炸式增长(奇怪的是,这比我使用神经网络时支付的成本高得多网络,尽管算法看起来更简单)。
你认识分享高效且廉价的 KNN 实现的人吗?或者你对这个主题有什么想法?
我开始想象启发式方法可以快速取消距离太远的示例,而无需一一查看。
具体来说,这将由一组 n 维嵌套网格组成,这样在每个嵌套网格序列中搜索就像在树或哈希表中搜索一样,并且允许将示例定位在与嵌套网格序列一样多的 bin 中。然后,人们期望最接近的示例要么在同一个 bin 中,要么在一个连续的 bin 中(因为该示例可能靠近 bin 边界)。
我想人们也可以想象将空间划分为决策区域(例如,1-KNN 会生成 Voronoi 图)。
但是,我不是研究人员,我的想法肯定无法挑战最先进的技术或已经存在和探索的想法。