Sobes.tech
Middle — Senior
21

Что такое cosine vs dot product vs euclidean — как влияет нормализация?

Companies where asked
ОстровокОстровок

Answer from AI

sobes.tech AI

Dot product (скалярное произведение) — это сумма произведений соответствующих компонент двух векторов. Оно отражает меру сходства с учётом длины векторов:

[ \mathbf{a} \cdot \mathbf{b} = \sum_i a_i b_i ]

Cosine similarity (косинусное сходство) — это нормализованное скалярное произведение, делённое на произведение норм (длин) векторов. Оно измеряет угол между векторами, игнорируя их длину:

[ \cos \theta = \frac{\mathbf{a} \cdot \mathbf{b}}{|\mathbf{a}| |\mathbf{b}|} ]

Euclidean distance (евклидово расстояние) — это мера расстояния между двумя точками (векторами) в пространстве:

[ d(\mathbf{a}, \mathbf{b}) = \sqrt{\sum_i (a_i - b_i)^2} ]

Влияние нормализации:

  • При нормализации векторов до единичной длины (( |\mathbf{a}| = 1 )) скалярное произведение становится равным косинусному сходству.
  • Косинусное сходство устойчиво к масштабированию векторов, так как учитывает только угол между ними.
  • Евклидово расстояние чувствительно к длине векторов, поэтому нормализация может изменить результаты сравнения.

В задачах поиска и сравнения векторных представлений (например, в vector DB) часто используют косинусное сходство для оценки семантической близости, так как оно игнорирует длину и фокусируется на направлении векторов.