我有一个稀疏向量,比如说
我想从预先定义的30k个向量中找到k个最近的向量。我所做的具体的“接近”计算类似于标量乘法,以找到向量之间的角度。
有没有办法优化这个过程(除了简单的计算30k并保存前k个结果的方法)?我对优化运行时间感兴趣,不是mem
最佳答案
一个简单的解决方案是预计算所有角度并将其存储在查找表(上三角矩阵)中。这将花费30k*30k/2=450m。这将是最快的。
关于algorithm - 测量稀疏矢量和30k其他预定义稀疏矢量之间的最小角度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31685909/