在计算余弦距离之前是否需要特征归一化?

机器算法验证 正常化 相似之处 余弦相似度 余弦距离
2022-03-10 21:39:45

我有一个等长特征向量的数据集,其中每个向量包含从音频文件中提取的大约 20 个特征(基频、BPM、高低频比等)。

我目前正在使用余弦相似度来测量向量之间的距离,以指示声音相似度,例如两个文件之间。

我知道对于欧几里得距离,在计算距离之前对数据集中的特征进行归一化很重要。余弦距离也是如此吗?

如果没有,是否存在与单个特征范围无关的相似性度量?

或者......或者,是否有任何“快速而肮脏”的方法来加权不需要访问整个数据集的特征(结合适当的相似性度量)。

这些功能的范围非常不同,但出于技术原因,我最好避免标准化步骤。

1个回答

余弦相似度的定义是:

similarity=cos(θ)=ABA2B2=i=1nAiBii=1nAi2i=1nBi2

它对特征的均值很敏感。要看到这一点,请选择一些,并将一个非常大的正数添加到个分量。那么相似度将是 j{1,,n}kj

k2k2k2=1.

因此,经常使用调整后的余弦相似度。它只是应用于均值去除特征的余弦相似度。