我有一个函数试图找出向量列表中哪个元素与输入向量具有最高相关值。基本上,我尝试在数据库中找到与输入向量最相似的一个。
这就是我所做的(x是输入向量,y_lst是x与之比较的向量列表):
def find_best_match(self, x, y_lst):
corr_result = np.zeros(len(y_lst))
for i in range(len(corr_result)):
corr_result[i] = np.correlate(x, y_lst[i])
idx = np.argmax(corr_result)
return idx, corr_result[idx]
y_lst可以为500-1000。而且该应用程序与实时音频有关,因此我希望尽可能提高性能。
关于如何提高效率或寻找更相似匹配的另一种有效方法的任何建议。
最诚挚的问候
J