[英]Finding the closest vector in a big dataset c#
我有一个很大的向量数据集(几百万行)(即List <double []>),我需要找到与给定向量最接近的1000个向量。
显而易见的解决方案是计算所有距离,然后对数组进行排序,但是我不确定这是否是考虑输出数组大小的正确方法。
也许我应该在计算距离的过程中例行删除最远的向量,因此它将一直是一小组最近的向量,而不是最后的大数组。
另一方面,看起来我仍然可以处理这种大小的数组,而不会出现64位内存溢出错误。
解决这个问题的成本更低的方法是什么?
如果正确的方法是在计算时设置较小的集合,那么正确的方法是什么?
如果将数据集存储在数据库中,则大多数现代DBMS支持地理编码和按距离搜索。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.