向量归一化(将向量缩放到单位长度)直接影响余弦相似度和欧氏距离等相似度度量的有效性。使用余弦相似度时必须进行归一化,而对于欧氏距离,则取决于数据特性和用例,归一化是可选的但有益[10]。以下是一个结构化的解释
1. 归一化与度量之间的核心关系
向量归一化确保所有向量的幅度为 1,这简化了相似度度量的计算。例如
- 余弦相似度本质上测量向量之间的夹角,忽略它们的幅度。如果向量**未归一化**,余弦相似度仍然有效,但归一化将其计算简化为点积:$$\text{Cosine Similarity} = \frac{\mathbf{A} \cdot \mathbf{B}}{|\mathbf{A}| |\mathbf{B}|} \rightarrow \mathbf{A} \cdot \mathbf{B} , (\text{if normalized})$$ 这避免了除法运算,提高了计算效率[10]。
- 欧氏距离测量向量之间的直线距离。如果向量**已归一化**,欧氏距离将直接与余弦相似度相关:$$|\mathbf{A} - \mathbf{B}|^2 = 2(1 - \text{Cosine Similarity})$$ 这意味着归一化后的欧氏距离和余弦相似度产生相同的结果排名[10]。
2. 何时以及为何进行归一化
在以下情况下,应在**索引之前**对向量进行归一化
- 幅度不相关:如果向量幅度不包含有意义的信息(例如,TF-IDF 文档嵌入,其中词频已被考虑在内)。
- 使用余弦相似度:归一化是确保结果有效的强制步骤。例如,在推荐系统中,用户偏好向量会进行归一化,以便比较方向一致性而非原始幅度[10]。
- 度量一致性:归一化可避免在高维空间中结果失真。幅度较大的未归一化向量会主导距离计算,即使它们的方向相关性较低。
3. 实际示例
考虑一个索引图像嵌入的搜索引擎
- 未归一化时,高分辨率图像(向量幅度大)由于欧氏距离偏爱幅度,可能比语义相似的低分辨率图像显得更“接近”查询向量。
- 归一化后,两张图像仅通过方向(余弦相似度)进行比较,优先考虑语义相关性而非像素强度。这与人脸识别等用例一致,其中光照变化(幅度)不应影响身份匹配[10]。
主要要点
归一化协调向量幅度,以确保度量侧重于相似度的*预期方面*(方向或幅度)。使用余弦相似度、幅度存在噪声或计算效率至关重要时,开发者应进行归一化。对于欧氏距离,归一化是可选的,但通常能提高高维空间中的结果质量。