Выбор ответа Middle Векторы и матрицы спрашивают часто обновлено

Косинусная близость против евклидова расстояния

Вопрос

Почему для сравнения текстовых эмбеддингов чаще берут косинусную близость, а не евклидово расстояние?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Косинус смотрит на направление и не зависит от длины вектора. cos(a, b) = a·b / (a·b) зависит только от угла.

Варианты ответа

  1. Косинус быстрее считается: в нём нет умножений
  2. Евклидово расстояние не определено для векторов размерности больше 3
  3. Косинус всегда даёт значения от 0 до 1, а расстояние нет
  4. Косинус смотрит на направление и не зависит от длины вектораправильный ответ

Разбор

cos(a, b) = a·b / (|a|·|b|) зависит только от угла. Длина эмбеддинга часто отражает что-то побочное (частоту слова, длину текста), а смысл закодирован в направлении. Если векторы нормированы, косинус и евклидово расстояние ранжируют одинаково: |a - b|² = 2 - 2cos.

  • В косинусе те же умножения, что и в скалярном произведении, плюс нормы.
  • Евклидово расстояние определено в любой размерности.
  • Косинус лежит в диапазоне от -1 до 1, а не от 0 до 1.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме